コード例 #1
0
        public async Task <IActionResult> Post(MovieCreate movie)
        {
            if (ModelState.IsValid)
            {
                await _movieService.CreateAsync(movie);

                return(StatusCode(201));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
コード例 #2
0
 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));
 }
コード例 #3
0
ファイル: CreateMovieTests.cs プロジェクト: anuviswan/nt
        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);
        }
コード例 #4
0
ファイル: CreateMovieTests.cs プロジェクト: anuviswan/nt
        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);
        }