public async void GetMoviesSessionsAsync_Mapping_ListSessionDTO()
        {
            var movie = this.movie;

            var session = new Session {
                Id = 1, CinemaHallId = 1, MovieId = 1, Date = new DateTime(2020, 2, 13)
            };

            movie.Sessions = new List <Session> {
                session
            };

            var listMovies = new List <Movie> {
                movie
            };

            var repMock = new Mock <IMovieRepository>();
            var mapper  = new MapperConfiguration(mc => mc.AddProfile(new ServicesMappingProfile())).CreateMapper();

            var movieService = new InfoMoviesService(repMock.Object, mapper);

            repMock
            .Setup(x => x.GetByIdAsync(It.IsAny <int>()))
            .Returns(Task.Run(() => movie));

            var resultSession = await movieService.GetMoviesSessionsAsync(movie.Id);

            Assert.True(session.Date == resultSession[0].Date);
        }
        public async void GetMovieByNameAsync_NotExist_EntityIsNotExistException()
        {
            var repMock = new Mock <IMovieRepository>();
            var mapper  = new MapperConfiguration(mc => mc.AddProfile(new ServicesMappingProfile())).CreateMapper();

            var movieService = new InfoMoviesService(repMock.Object, mapper);

            repMock
            .Setup(x => x.FindByPredicate(It.IsAny <Func <Movie, bool> >()))
            .Returns(new List <Movie>());

            await Assert.ThrowsAsync <EntityIsNotExistException>(() => movieService.GetMovieByNameAsync(movie.Name));
        }
        public async void GetByIdAsync_Mapping_MovieDTO()
        {
            var repMock = new Mock <IMovieRepository>();
            var mapper  = new MapperConfiguration(mc => mc.AddProfile(new ServicesMappingProfile())).CreateMapper();

            var movieService = new InfoMoviesService(repMock.Object, mapper);

            repMock
            .Setup(x => x.GetByIdAsync(It.IsAny <int>()))
            .Returns(Task.Run(() => movie));

            var resultMovie = await movieService.GetByIdAsync(movie.Id);

            Assert.True(movie.Name == resultMovie.Name &&
                        movie.Genre == resultMovie.Genre &&
                        movie.Duration == resultMovie.Duration);
        }
        public async void GetMovieByNameAsync_Mapping_MovieDTO()
        {
            var listMovies = new List <Movie> {
                movie
            };

            var repMock = new Mock <IMovieRepository>();
            var mapper  = new MapperConfiguration(mc => mc.AddProfile(new ServicesMappingProfile())).CreateMapper();

            var movieService = new InfoMoviesService(repMock.Object, mapper);

            repMock
            .Setup(x => x.FindByPredicate(It.IsAny <Func <Movie, bool> >()))
            .Returns(listMovies);

            var resultMovie = await movieService.GetMovieByNameAsync(movie.Name);

            Assert.True(movie.Name == resultMovie.Name &&
                        movie.Genre == resultMovie.Genre &&
                        movie.Duration == resultMovie.Duration);
        }
        public void GetAllMovies_Mapping_AllListMoviesDTO()
        {
            var listMovies = new List <Movie> {
                movie
            };

            var mockRep = new Mock <IMovieRepository>();
            var mapper  = new MapperConfiguration(mc => mc.AddProfile(new ServicesMappingProfile())).CreateMapper();

            var movieService = new InfoMoviesService(mockRep.Object, mapper);

            mockRep
            .Setup(x => x.GetAll())
            .Returns(() => listMovies);

            var resultList = movieService.GetAll();

            Assert.True(listMovies[0].Name == resultList[0].Name &&
                        listMovies[0].Genre == resultList[0].Genre &&
                        listMovies[0].Duration == resultList[0].Duration);
        }