public async Task PutConcertReturnsNotFoundTest() { // Arrange var mock = new Mock <IUpdateEntry>(); var entries = new List <IUpdateEntry>(); entries.Add(mock.Object); 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.ChangeState(concert, EntityState.Modified)).Verifiable(); mockRepo.Setup(c => c.SaveChanges()).Throws( new DbUpdateConcurrencyException(It.IsNotNull <string>(), entries)); mockRepo.Setup(c => c.ConcertExists(testId)).Returns(false); var controller = new ConcertsController(mockRepo.Object, mockLogger.Object); // Act var result = await controller.PutConcert(testId, concert); // Assert Assert.IsType <NotFoundResult>(result); }
public async Task PutConcertReturnsBadRequestResultIdTest() { // Arrange int testId = 2; Concert concert = GetTestConcerts()[0]; var mockRepo = new Mock <IConcertRepository>(); var mockLogger = new Mock <ILogger <ConcertsController> >(); var controller = new ConcertsController(mockRepo.Object, mockLogger.Object); // Act var result = await controller.PutConcert(testId, concert); // Assert Assert.IsType <BadRequestResult>(result); }
public async Task PutConcertReturnsBadRequestResultModelStateTest() { // 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.PutConcert(id : 0, concert : null); // Assert Assert.IsType <BadRequestObjectResult>(result); }
public async Task PutConcertReturnsNoContentResultTest() { // 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.ChangeState(concert, EntityState.Modified)).Verifiable(); mockRepo.Setup(c => c.SaveChanges()).Returns(Task.CompletedTask); var controller = new ConcertsController(mockRepo.Object, mockLogger.Object); // Act var result = await controller.PutConcert(testId, concert); // Assert Assert.IsType <NoContentResult>(result); }