public async Task <IActionResult> PutFavouriteDeveloper(int id, FavouriteDeveloper favouriteDeveloper)
        {
            if (id != favouriteDeveloper.Id)
            {
                return(BadRequest());
            }

            _context.Entry(favouriteDeveloper).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FavouriteDeveloperExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public void PostFavouriteDeveloperTest()
        {
            context.Users.RemoveRange(context.Users);

            context.Users.RemoveRange(context.Users);
            context.SaveChanges();


            var fav = new FavouriteDevelopersController(context);

            var user = new User {
                Id = 1, Username = "******"
            };

            context.Users.Add(user);
            context.SaveChanges();

            var item = new FavouriteDeveloper {
                FavId = 1, UserId = 1
            };
            //user.FavGames.Add(item);
            var res = fav.PostFavouriteDeveloper(item).Result;
            //var expected = new JsonResult(user);
            var expected = new ActionResult <FavouriteDeveloper>(item);

            Assert.AreEqual(expected.Result, res.Result);
        }
        public async Task <ActionResult <FavouriteDeveloper> > PostFavouriteDeveloper(FavouriteDeveloper favouriteDeveloper)
        {
            User user = _context.Users.Where(u => u.Id == favouriteDeveloper.UserId).Include(p => p.FavPublishers).FirstOrDefault();

            _context.Attach(user);
            _context.FavouriteDeveloper.Add(favouriteDeveloper);
            _context.Users.Update(user).Entity.FavDeveloper.Add(favouriteDeveloper);

            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetFavouriteDeveloper", new { id = favouriteDeveloper.Id }, favouriteDeveloper));
        }