Esempio n. 1
0
        public void AddActorToMovie_Should_MakeConnectionsIfActorAlreadyExist()
        {
            var db = new TFContext(this.DatabaseSimulator());
            var genreServicesMock = new Mock <IGenreServices>();
            var actorServicesMock = new Mock <IActorServices>();
            var movieService      = new AddMovieService
                                        (db, genreServicesMock.Object, actorServicesMock.Object);


            var movie = new Movie()
            {
                Id    = movieIdToUse,
                Title = movieTitle
            };

            var actorToAdd = new Actor()
            {
                Id         = actorIdToUse,
                ApiActorId = apiActorIdToUse,
                FullName   = actorName
            };

            db.Actors.Add(actorToAdd);
            db.SaveChanges();

            var actorsCast = new List <(Actor, string)>
            {
                (actorToAdd, actorRole)
            };

            movieService.AddActorsToMovie(movie, actorsCast);

            Assert.AreEqual(1, db.MoviesActors.Count(a => a.ActorId == 2 && a.MovieId == 1));
        }
Esempio n. 2
0
        public void AddGenreToMovie_Should_MakeConnectionsIfGenreAlreadyExist()
        {
            var db = new TFContext(this.DatabaseSimulator());
            var genreServicesMock = new Mock <IGenreServices>();
            var actorServicesMock = new Mock <IActorServices>();
            var movieService      = new AddMovieService
                                        (db, genreServicesMock.Object, actorServicesMock.Object);

            var movie = new Movie()
            {
                Id    = movieIdToUse,
                Title = movieTitle
            };

            var genreToAdd = new Genre()
            {
                Id         = 2,
                Name       = "Action",
                ApiGenreId = 2
            };

            db.Genres.Add(genreToAdd);
            db.SaveChanges();

            var genresCast = new List <(int, string)>
            {
                (genreToAdd.Id, genreToAdd.Name)
            };

            movieService.AddGenresToMovie(movie, genresCast);

            Assert.AreEqual(1, db.MoviesGenres.Count(a => a.GenreId == 2 && a.MovieId == 1));
        }
Esempio n. 3
0
        public void AddMovie_ShouldThrow_WhenMovieIsAlreadyThere()
        {
            var db = new TFContext(this.DatabaseSimulator());
            var genreServicesMock = new Mock <IGenreServices>();
            var actorServicesMock = new Mock <IActorServices>();
            var movieService      = new AddMovieService
                                        (db, genreServicesMock.Object, actorServicesMock.Object);

            Movie movieToAdd = new Movie
            {
                ApiMovieId = apiMovieIdToUse,
                Title      = movieTitle
            };

            movieService.AddMovie(movieToAdd);

            Assert.ThrowsException <EntityAlreadyExistingException>(() => movieService.AddMovie(movieToAdd));
        }
Esempio n. 4
0
        public void AddMovie_Should_AddMovieWhenItIsCorrect()
        {
            var db = new TFContext(this.DatabaseSimulator());
            var genreServicesMock = new Mock <IGenreServices>();
            var actorServicesMock = new Mock <IActorServices>();
            var movieService      = new AddMovieService
                                        (db, genreServicesMock.Object, actorServicesMock.Object);

            var movieToAdd = new Movie()
            {
                ApiMovieId = apiMovieIdToUse,
                Title      = movieTitle
            };

            var result = movieService.AddMovie(movieToAdd);

            Assert.AreEqual(movieTitle, result.Title);
            Assert.AreEqual(apiMovieIdToUse, result.ApiMovieId);
        }
Esempio n. 5
0
        public void AddMovie_Should_RestoreActor()
        {
            var db = new TFContext(this.DatabaseSimulator());
            var genreServicesMock = new Mock <IGenreServices>();
            var actorServicesMock = new Mock <IActorServices>();
            var movieService      = new AddMovieService
                                        (db, genreServicesMock.Object, actorServicesMock.Object);

            Movie movieToAdd = new Movie
            {
                ApiMovieId = apiMovieIdToUse,
                Title      = movieTitle
            };

            movieService.AddMovie(movieToAdd);

            movieToAdd.IsDeleted = true;

            movieService.AddMovie(movieToAdd);

            Assert.IsFalse(movieToAdd.IsDeleted);
        }