public async Task PostMovieAsync_Success_Test() { // Arrange var mediator = new Mock <IMediator>(); var command = new PostMovieCommand { Title = "Platoon", Year = 1986, Price = 5f, AgeRestriction = 18 }; mediator.Setup(m => m.Send(It.IsAny <PostMovieCommand>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(new PostMovieSuccessResponse(command.Title))); var controller = new MoviesController(mediator.Object, TestHelper.Mapper); // Act var response = await controller.PostMovieAsync(command); // Assert response.Should().NotBeNull(); var objectResult = response as ObjectResult; objectResult?.StatusCode.Should().Be(200); }
public async Task <IActionResult> PostMovieAsync(PostMovieCommand command) { if (command.Year < 1888) { return(BadRequest(new InvalidYearResponse())); } if (command.Price <= 0) { return(BadRequest(new InvalidPriceResponse())); } if (command.AgeRestriction <= 0) { return(BadRequest(new InvalidAgeRestrictionResponse())); } var response = await _mediator.Send(command); return(Ok(response)); }
public async Task PostMovieAsync_BadRequest_Test() { // Arrange var mediator = new Mock <IMediator>(); var command = new PostMovieCommand { Title = "Platoon", Year = 1986, Price = -5f, AgeRestriction = 18 }; var controller = new MoviesController(mediator.Object, TestHelper.Mapper); // Act var response = await controller.PostMovieAsync(command); // Assert response.Should().NotBeNull(); var objectResult = response as ObjectResult; objectResult?.StatusCode.Should().Be(400); }