public void DeleteMovieRepositoryExceptionTest()
        {
            // Arrange
            var mock           = new Mock <IMoviesRepository>();
            var moviesServices = new MoviesService(mock.Object);
            var movie          = new Movie
            {
                MovieId = "movie-id",
                Title   = "movie-title"
            };

            // Act
            mock.Setup(s => s.GetById(movie.MovieId)).Returns(new OK <Movie>(movie));
            mock.Setup(s => s.Delete(movie)).Throws(new NotImplementedException());
            var result = moviesServices.Delete(movie.MovieId);

            // Assert
            switch (result)
            {
            case OK <Movie> ok:
                Assert.Fail();
                break;

            case Error <Movie> error:
                Assert.AreEqual(typeof(RepositoryUnknownException), error.Exception.GetType());
                Assert.AreEqual("Delete-method repository exception.", error.Message);
                break;

            default:
                throw new NotImplementedException();
            }
        }
        public void DeleteNotExistingMovieTest()
        {
            // Arrange
            var mock          = new Mock <IMoviesRepository>();
            var moviesService = new MoviesService(mock.Object);
            var movie         = new Movie()
            {
                MovieId = "movie-id",
                Title   = "movie-title"
            };

            // Act
            mock.Setup(s => s.GetById(movie.MovieId)).Returns(new Error <Movie>(new DatabaseContextException()));
            var result = moviesService.Delete(movie.MovieId);

            // Assert
            switch (result)
            {
            case OK <Movie> ok:
                Assert.Fail();
                break;

            case Error <Movie> error:
                Assert.AreEqual(typeof(IdNotFoundException), error.Exception.GetType());
                Assert.AreEqual("Delete-method id not found exception.", error.Message);
                break;

            default:
                throw new NotImplementedException();
            }
        }
示例#3
0
        public void DeleteShouldRemoveAndReturnFilm()
        {
            var options = new DbContextOptionsBuilder <MoviesDbContext>()
                          .UseInMemoryDatabase(databaseName: nameof(DeleteShouldRemoveAndReturnFilm))
                          .EnableSensitiveDataLogging()
                          .Options;

            using (var context = new MoviesDbContext(options))
            {
                var filmService = new MoviesService(context);
                var toAdd       = filmService.Create(new ExamenNet.ViewModels.MoviePostModel
                {
                    Title       = "DeSters",
                    Director    = "dir1",
                    DateAdded   = new DateTime(),
                    Duration    = 100,
                    Description = "asdvadfbdbsb",
                    Genre       = "Comedy",
                    ReleaseYear = 2000,
                    Rating      = 3,
                    Watched     = 0
                }, null);

                Assert.IsNotNull(toAdd);
                Assert.AreEqual(1, filmService.GetAll(new DateTime(), new DateTime(), 1).Entries.Count);

                var deletedFilm = filmService.Delete(1);

                Assert.IsNotNull(deletedFilm);
                Assert.AreEqual(0, filmService.GetAll(new DateTime(), new DateTime(), 1).Entries.Count);
            }
        }
示例#4
0
        public void DeleteTest()
        {
            int affectedRows;
            int id = 2;

            affectedRows = service.Delete(id);
            Assert.IsTrue(affectedRows > 0, "The delete failed");
        }
示例#5
0
        public HttpResponseMessage Delete(int id)
        {
            int rowsAffected = movieService.Delete(id);

            if (rowsAffected < 1)
            {
                ModelState.AddModelError("", "The requested entry does not exist in the database.");
            }
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        public void DeleteOkMovieTest()
        {
            // Arrange
            var mock          = new Mock <IMoviesRepository>();
            var moviesService = new MoviesService(mock.Object);
            var movie         = new Movie
            {
                MovieId = "movie-id",
                Title   = "movie-title"
            };

            // Act
            mock.Setup(s => s.GetById("movie-id")).Returns(new OK <Movie>(movie));
            var movieToDeleteResult = moviesService.GetById("movie-id");

            // Assert
            switch (movieToDeleteResult)
            {
            case OK <Movie> ok:
                Assert.AreEqual("movie-title", ok.Result.Title);
                break;

            case Error <Movie> error:
                Console.WriteLine(error.Message);
                break;

            default:
                throw new NotImplementedException();
            }

            // Act
            mock.Setup(s => s.Delete(movie)).Returns(new OK <Movie>(movie));
            var result = moviesService.Delete(movie.MovieId);

            // Assert
            switch (result)
            {
            case OK <Movie> ok:
                Assert.AreEqual("movie-id", ok.Result.MovieId);
                Assert.AreEqual("movie-title", ok.Result.Title);
                break;

            case Error <Movie> error:
                Console.WriteLine(error.Message);
                break;

            default:
                throw new NotImplementedException();
            }
        }
示例#7
0
        public async Task Delete_WithValidInput_ShouldReturnRemoveMovie()
        {
            var dbContext = ApplicationDbContextCreatorInMemory.InitializeContext();

            await this.SeedData(dbContext);

            var moviesRepository = new EfDeletableEntityRepository <Movie>(dbContext);
            var genresRepository = new EfDeletableEntityRepository <Genre>(dbContext);
            var service          = new MoviesService(moviesRepository, genresRepository);

            var movie = service.GetById <MovieEditModel>(1);

            var result = service.Delete(movie);

            Assert.Equal(1, dbContext.Movies.Count());
        }
示例#8
0
        public async Task Delete_Movie()
        {
            bool confirmed = await IJSRuntime.InvokeAsync <bool>("confirm", $"Are you shure you want to delete {Movie.Title}?");

            if (confirmed)
            {
                var response = await MoviesService.Delete(new IdRequest(Movie.Id));

                if (response.Ok)
                {
                    Toaster.Success("Movie deleted successfully");
                    await OnMovieDeleted.InvokeAsync(Movie.Id);
                }
                else
                {
                    Toaster.Success("Movie not deleted. Something went wrong");
                }
            }
        }