public async Task <IActionResult> AddMovie(MovieForDetailedDto movieForDetailedDto)
        {
            if (await _repo.MovieExists(movieForDetailedDto.ATitle))
            {
                return(BadRequest("movie already exists"));
            }

            else if (!ModelState.IsValid || movieForDetailedDto.ATitle == null || movieForDetailedDto.APrice == null || movieForDetailedDto.AMovieDescription == null)
            {
                return(BadRequest("movie details not valid"));
            }

            var movieToCreate = _mapper.Map <TblMovie>(movieForDetailedDto);

            var createdMovie = await _repo.AddMovie(movieToCreate);

            return(Ok(createdMovie));
        }
        public async Task CallGetRequest_WhenCalledWithId_ReturnsTheMovieWithTheSameId()
        {
            getMoviesHelper     getMoviesHelper     = new getMoviesHelper();
            List <TblMovie>     movieList           = getMoviesHelper.getMovieFromList();
            var                 movie               = getMoviesHelper.movieById(3);
            MovieForDetailedDto movieForDetailedDto = new MovieForDetailedDto();

            movieForDetailedDto.ATitle            = movie.ATitle;
            movieForDetailedDto.AMovieId          = movie.AMovieId;
            movieForDetailedDto.AMovieDescription = movie.AMovieDescription;
            movieForDetailedDto.ADuration         = movie.ADuration;
            movieForDetailedDto.AGenre            = movie.AGenre;
            movieForDetailedDto.AImageLink        = movie.AImageLink;
            movieForDetailedDto.APrice            = movie.APrice;
            movieForDetailedDto.ATrailerLink      = movie.ATrailerLink;
            movieForDetailedDto.ARating           = movie.ARating;
            movieForDetailedDto.APurchasePrice    = movie.APurchasePrice;
            _mockMovieRepository = new Mock <IMovieRepository>();
            _mockMovieMapper     = new Mock <IMapper>();
            //_mockMovieMapper.Setup(mapper => mapper.Map<TblMovie>(It.IsAny<MovieForDetailedDto>()))
            //    .Returns(getMoviesHelper.movieById(3));
            _mockMovieMapper.Setup(mapper => mapper.Map <MovieForDetailedDto>(It.IsAny <TblMovie>())).Returns(movieForDetailedDto);
            _mockMovieRepository.Setup(repo => repo.GetMovie(It.IsAny <int>()))
            .ReturnsAsync(getMoviesHelper.movieById(3));
            _moviesController = new MoviesController(_mockMovieRepository.Object, _mockMovieMapper.Object);
            var tblMovie = await _moviesController.GetMovie(3);

            var okResult = tblMovie as OkObjectResult;

            //Assert.AreEqual(200, okResult.StatusCode);
            Assert.NotNull(tblMovie);
            Assert.IsAssignableFrom <OkObjectResult>(tblMovie);
            var result = ((OkObjectResult)tblMovie).Value;

            Assert.AreEqual(result, movieForDetailedDto);
            Assert.NotNull(result);
            Assert.IsAssignableFrom <MovieForDetailedDto>(result);
        }