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); }