public async Task <IActionResult> Post(MovieCreate movie) { if (ModelState.IsValid) { await _movieService.CreateAsync(movie); return(StatusCode(201)); } else { return(BadRequest(ModelState)); } }
public async Task <IActionResult> Create(Movies movies) { try { await _movieService.CreateAsync(movies); } catch (Exception ex) { result.Message = "Error create new movie"; result.Status = 404; result.Error = ex; return(BadRequest(result)); } return(Ok(movies)); }
public async Task CreateMovieSuccessTest(MovieEntity request, MovieEntity expected) { var mockMovieRepository = new Mock <IMovieRepository>(); mockMovieRepository.Setup(x => x.CreateAsync(It.IsAny <MovieEntity>())) .Returns(Task.FromResult(expected)); mockMovieRepository.Setup(x => x.GetAsync(It.IsAny <Expression <Func <MovieEntity, bool> > >())) .Returns(Task.FromResult(EntityCollection.Where(x => x.Title.ToLower().Equals(request.Title.ToLower()) && x.ReleaseDate.Year == request.ReleaseDate.Year && x.Language.ToLower().Equals(request.Language.ToLower())))); var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.SetupGet(x => x.MovieRepository).Returns(mockMovieRepository.Object); var movieService = new MovieService(mockUnitOfWork.Object); var result = await movieService.CreateAsync(request); Assert.False(string.IsNullOrEmpty(result.Id)); Assert.Equal(expected, result); mockMovieRepository.Verify(x => x.CreateAsync(It.IsAny <MovieEntity>()), Times.Once); mockMovieRepository.Verify(x => x.GetAsync(It.IsAny <Expression <Func <MovieEntity, bool> > >()), Times.Once); }
public async Task CreateMovieFailureTest(MovieEntity request) { // Arrange var mockMovieRepository = new Mock <IMovieRepository>(); mockMovieRepository.Setup(x => x.CreateAsync(It.IsAny <MovieEntity>())).Returns(Task.FromResult(request)); mockMovieRepository.Setup(x => x.GetAsync(It.IsAny <Expression <Func <MovieEntity, bool> > >())) .Returns(Task.FromResult(EntityCollection.Where(x => x.Title.ToLower().Equals(request.Title.ToLower()) && x.ReleaseDate.Year == request.ReleaseDate.Year && x.Language.ToLower().Equals(request.Language.ToLower())))); var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.SetupGet(x => x.MovieRepository).Returns(mockMovieRepository.Object); //Act var movieService = new MovieService(mockUnitOfWork.Object); await Assert.ThrowsAsync <EntityAlreadyExistException>(() => movieService.CreateAsync(request)); // Assert mockMovieRepository.Verify(x => x.CreateAsync(It.IsAny <MovieEntity>()), Times.Never); mockMovieRepository.Verify(x => x.GetAsync(It.IsAny <Expression <Func <MovieEntity, bool> > >()), Times.Once); }