public async Task PutDeveloper_ExistingIdCorrectDeveloperWithWebsiteChanged_NoContentResult() { // Arrange const int developerId = 3; InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList()); Developer developerToUpdate = GetFakeList().Where(d => d.ID == developerId).FirstOrDefault(), // Should use ICopyable interface here expectedDeveloper = GetFakeList().Where(d => d.ID == developerId).FirstOrDefault(); // Act using (var context = new GameReviewsContext(options)) { developerToUpdate.Website = "newWebsite"; expectedDeveloper.Website = "newWebsite"; DevelopersController developersController = new DevelopersController(context); var result = (await developersController.PutDeveloper(developerId, developerToUpdate)); Developer actualDeveloper = await context.Developers.Where(d => d.ID == developerId).FirstOrDefaultAsync(); // Assert Assert.True(AreEqual(expectedDeveloper, actualDeveloper)); Assert.IsType <NoContentResult>(result); } }
public async Task TestUpdate() { var result = (OkObjectResult)(await developersController.GetDeveloper(4)); var developer = (Developer)result.Value; OkObjectResult resultUpdate = (OkObjectResult)await developersController.PutDeveloper(developer.Id, developer); Assert.That(resultUpdate.StatusCode == 200); }
public async Task PutDeveloper_ExistingIdCorrectDeveloperWithIdChangedNegative_BadRequestResult() { // Arrange const int developerId = 3, idChanged = -1; InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList()); Developer developerToUpdate = GetFakeList().Where(d => d.ID == developerId).FirstOrDefault(); // Act using (var context = new GameReviewsContext(options)) { developerToUpdate.ID = idChanged; DevelopersController developersController = new DevelopersController(context); var result = (await developersController.PutDeveloper(developerId, developerToUpdate)); Developer actualDeveloper = await context.Developers.Where(d => d.ID == developerId).FirstOrDefaultAsync(); // Assert Assert.IsType <BadRequestResult>(result); } }