示例#1
0
        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);
        }
示例#2
0
        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);
        }