public async Task PostConcertReturnsCreaterAtActionResultTest() { // Arrange int testId = 1; Concert concert = GetTestConcerts().FirstOrDefault(p => p.Id == testId); var mockLogger = new Mock <ILogger <ConcertsController> >(); var mockRepo = new Mock <IConcertRepository>(); mockRepo.Setup(c => c.AddConcert(concert)) .Returns(EntityState.Added); mockRepo.Setup(c => c.SaveChanges()) .Returns(Task.CompletedTask); var controller = new ConcertsController(mockRepo.Object, mockLogger.Object); // Act var result = await controller.PostConcert(concert); // Assert var requestResult = Assert.IsType <CreatedAtActionResult>(result); var model = Assert.IsType <Concert>(requestResult.Value); Assert.Equal(concert.Id, model.Id); Assert.Equal(concert.VenueId, model.VenueId); Assert.Equal(concert.PerfomerId, model.PerfomerId); Assert.Equal(concert.Date, model.Date); }
public async Task PostConcertReturnsBadRequestResultTest() { // Arrange & Act var mockRepo = new Mock <IConcertRepository>(); var mockLogger = new Mock <ILogger <ConcertsController> >(); var controller = new ConcertsController(mockRepo.Object, mockLogger.Object); controller.ModelState.AddModelError("error", "some error"); // Act var result = await controller.PostConcert(concert : null); // Assert Assert.IsType <BadRequestObjectResult>(result); }