public async Task GetMovieTest()
        {
            var controller = new RentalMoviesController(_loggerFake, _mediatorFake);

            var result = await controller.GetMovie(1);

            Assert.NotNull(result);
            Assert.IsType <ActionResult <SingleMovieDto> >(result);
        }
        public async Task GetAllMoviesByNameTest()
        {
            var controller = new RentalMoviesController(_loggerFake, _mediatorFake);

            var result = await controller.GetAllMoviesByName(1, 8, "Title Movie");

            Assert.NotNull(result);
            Assert.IsType <ActionResult <MoviesListVm> >(result);
        }
        public async Task DeleteMovieTest()
        {
            var controller = new RentalMoviesController(_loggerFake, _mediatorFake);

            var result = await controller.Delete(1);

            Assert.NotNull(result);
            Assert.IsType <NoContentResult>(result);
        }
        public async Task UpdateMovieTest()
        {
            var controller = new RentalMoviesController(_loggerFake, _mediatorFake);

            var result = await controller.Update(new UpdateMovieCommand()
            {
                Title       = "Job Title Test Updated",
                Description = "Description Job Test Updated",
                SalePrice   = 12.64m,
                RentalPrice = 44.54m,
                Image       = "Updated.jpg",
            });

            Assert.NotNull(result);
            Assert.IsType <NoContentResult>(result);
        }
        public async Task ReturnMovie()
        {
            var controller = new RentalMoviesController(_loggerFake, _mediatorFake);
            var result     = await controller.ReturnMovie(new ReturnRentalMovieCommand()
            {
                MovieId = 1,
                StockId = 2,
                UserId  = 1
            });

            var r = (OkObjectResult)result.Result;

            Assert.NotNull(result);
            Assert.IsType <ActionResult <int> >(result);
            Assert.Equal(true, r.Value);
        }
        public async Task CreateMovieTest()
        {
            var controller = new RentalMoviesController(_loggerFake, _mediatorFake);

            var result = await controller.Create(new CreateMovieCommand()
            {
                Title          = "Job Title Test",
                Description    = "Description Job Test",
                SalePrice      = 12.64m,
                RentalPrice    = 44.54m,
                Image          = "jpg",
                NumberOfStocks = 5
            });

            var r = (OkObjectResult)result.Result;

            Assert.NotNull(result);
            Assert.IsType <ActionResult <int> >(result);
            Assert.Equal(1, r.Value);
        }
        public async Task RentalMovie()
        {
            var controller = new RentalMoviesController(_loggerFake, _mediatorFake);

            var result = await controller.RentalMovie(new RentalMovieCommand()
            {
                RentalMovies = new List <RentalMovieVm>()
                {
                    new RentalMovieVm()
                    {
                        MovieId     = 1,
                        StockId     = 1,
                        UserId      = 1,
                        StatusMovie = StatusMovie.Rented,
                        Days        = 5
                    },
                    new RentalMovieVm()
                    {
                        MovieId     = 2,
                        StockId     = 1,
                        UserId      = 1,
                        StatusMovie = StatusMovie.Rented,
                        Days        = 6
                    },
                    new RentalMovieVm()
                    {
                        MovieId     = 3,
                        StockId     = 1,
                        UserId      = 1,
                        StatusMovie = StatusMovie.Rented,
                        Days        = 2
                    }
                }
            });

            Assert.NotNull(result);
            Assert.IsType <NoContentResult>(result);
        }