Ejemplo n.º 1
0
        public void AddActorDetails_ShouldAddDetails()
        {
            var db           = new TFContext(this.DatabaseSimulator());
            var actorService = new ActorServices(db);

            var actorPesho = new Actor()
            {
                Id = actorId
            };
            var actorWithDetails = new Actor()
            {
                Id          = actorId,
                DateOfBirth = "Some nice day",
                Biography   = "Some nice words"
            };

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


            Assert.IsNull(actorPesho.Biography);
            Assert.IsNull(actorPesho.DateOfBirth);

            actorService.AddActorDetails(actorWithDetails);

            Assert.IsNotNull(actorPesho.Biography);
            Assert.IsNotNull(actorPesho.DateOfBirth);
        }
Ejemplo n.º 2
0
        public void _ListAllActors_ShouldReturnAllActorsWithWhiteSpace()
        {
            var db           = new TFContext(this.DatabaseSimulator());
            var actorService = new ActorServices(db);

            var firstActor = new Actor()
            {
                Id       = 1,
                FullName = firstActorName
            };
            var secondActor = new Actor()
            {
                Id       = 2,
                FullName = secondActorName
            };
            var thirdActor = new Actor()
            {
                Id       = 3,
                FullName = nameWithoutP
            };

            db.Actors.AddRange(firstActor, secondActor, thirdActor);
            db.SaveChanges();
            var result = actorService.ListAllActors(1, 5, " ").ToList();

            Assert.AreEqual(3, result.Count());
        }
Ejemplo n.º 3
0
        public void GetActorMoviesCorrectly_ShouldReturnListOfMovies()
        {
            var options = TestUtils.GetOptions(nameof(GetActorMoviesCorrectly_ShouldReturnListOfMovies));

            using (var arrangeContext = new MovInfoContext(options))
            {
                arrangeContext.Actors.Add(TestSamples.exampleActor);
                arrangeContext.Movies.Add(TestSamples.exampleMovie);

                TestSamples.exampleActor.MoviesActors.Add(TestSamples.exampleMoviesActors);

                arrangeContext.SaveChanges();
            }

            using (var assertContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();

                var sut = new ActorServices(assertContext, mockBusinessValidator.Object);

                var result = sut.GetActorMoviesAsync(1).Result;

                Assert.IsInstanceOfType(result[0], typeof(Movie));
                Assert.AreEqual(result.First().Id, 1);
            }
        }
Ejemplo n.º 4
0
        public void DeleteActorCorrectly()
        {
            var options = TestUtils.GetOptions(nameof(DeleteActorCorrectly));

            using (var arrangeContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();
                var sut = new ActorServices(arrangeContext, mockBusinessValidator.Object);

                var addedActor = sut.AddActorAsync(
                    TestSamples.exampleActor.FirstName,
                    TestSamples.exampleActor.LastName,
                    TestSamples.exampleActor.Bio,
                    TestSamples.exampleActor.ProfileImageName,
                    TestSamples.allowedRoles);

                var deletedActor = sut.DeleteActorAsync(
                    TestSamples.exampleActor.Id, TestSamples.allowedRoles);

                arrangeContext.SaveChanges();
            }

            using (var assertContext = new MovInfoContext(options))
            {
                Assert.AreEqual(assertContext.Actors.Count(), 0);
            }
        }
Ejemplo n.º 5
0
        public void CorrectlyReturnDeleted_Actor()
        {
            var options = TestUtils.GetOptions(nameof(CorrectlyReturnDeleted_Actor));

            using (var arrangeContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();
                var sut = new ActorServices(arrangeContext, mockBusinessValidator.Object);

                var addedActor = sut.AddActorAsync(
                    TestSamples.exampleActor.FirstName,
                    TestSamples.exampleActor.LastName,
                    TestSamples.exampleActor.Bio,
                    TestSamples.exampleActor.ProfileImageName,
                    TestSamples.allowedRoles);

                arrangeContext.SaveChanges();
            }

            using (var assertContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();
                var sut = new ActorServices(assertContext, mockBusinessValidator.Object);

                var deletedActor = sut.DeleteActorAsync(
                    TestSamples.exampleActor.Id, TestSamples.allowedRoles).Result;

                Assert.IsInstanceOfType(deletedActor, typeof(Actor));
                Assert.AreEqual(deletedActor.Id, TestSamples.exampleActor.Id);
                Assert.AreEqual(deletedActor.FirstName, TestSamples.exampleActor.FirstName);
                Assert.AreEqual(deletedActor.LastName, TestSamples.exampleActor.LastName);
                Assert.AreEqual(deletedActor.Bio, TestSamples.exampleActor.Bio);
                Assert.AreEqual(deletedActor.ProfileImageName, TestSamples.exampleActor.ProfileImageName);
            }
        }
Ejemplo n.º 6
0
        public void ShowActorInfoCorrectly()
        {
            var options = TestUtils.GetOptions(nameof(ShowActorInfoCorrectly));

            using (var arrangeContext = new MovInfoContext(options))
            {
                arrangeContext.Actors.Add(TestSamples.exampleActor);
                arrangeContext.Movies.Add(TestSamples.exampleMovie);

                TestSamples.exampleActor.MoviesActors.Add(TestSamples.exampleMoviesActors);

                arrangeContext.SaveChanges();
            }

            using (var assertContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();

                var sut = new ActorServices(assertContext, mockBusinessValidator.Object);

                var result = sut.ShowActorInfoAsync(1);

                Assert.AreEqual(assertContext.Actors.FirstOrDefault().FirstName, TestSamples.exampleActor.FirstName);
                Assert.AreEqual(assertContext.Actors.FirstOrDefault().LastName, TestSamples.exampleActor.LastName);
                Assert.AreEqual(assertContext.Actors.FirstOrDefault().Bio, TestSamples.exampleActor.Bio);
            }
        }
Ejemplo n.º 7
0
        public void IsActorAlreadyPresent_ShouldThrowArgumentExceptionAndCorrectMessage_WhenActorAlreadyInDb()
        {
            var options = TestUtils.GetOptions(nameof(IsActorAlreadyPresent_ShouldThrowArgumentExceptionAndCorrectMessage_WhenActorAlreadyInDb));

            using (var arrangeContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();
                var service = new ActorServices(arrangeContext, mockBusinessValidator.Object);

                var addedActor = service.AddActorAsync(
                    TestSamples.exampleActor.FirstName,
                    TestSamples.exampleActor.LastName,
                    TestSamples.exampleActor.Bio,
                    TestSamples.exampleActor.ProfileImageName,
                    TestSamples.allowedRoles);

                arrangeContext.SaveChanges();
            }

            using (var assertContext = new MovInfoContext(options))
            {
                var mockWrapUserManager = new Mock <IWrapUserManager>();
                var mockHttpContext     = new Mock <IHttpContextAccessor>();

                var sut = new BusinessLogicValidator(mockHttpContext.Object, mockWrapUserManager.Object);

                var ex = Assert.ThrowsException <ArgumentException>(() => sut.IsActorAlreadyPresent(assertContext, TestSamples.exampleActor.FirstName, TestSamples.exampleActor.LastName));
                Assert.AreEqual(ex.Message, BusinessLogicValidatorMessages.ActorAlreadyPresent);
            }
        }
Ejemplo n.º 8
0
        public void DoesAllActorsExist_ShouldThrowArgumentExceptionAndCorrectMessage_WhenNoSuchActorsInDb()
        {
            var options = TestUtils.GetOptions(nameof(DoesCategoryExist_ShouldThrowArgumentExceptionAndCorrectMessage_WhenNoSuchCategoryInDb));


            using (var arrangeContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();
                var service = new ActorServices(arrangeContext, mockBusinessValidator.Object);

                var addedActor = service.AddActorAsync(
                    TestSamples.exampleActor.FirstName,
                    TestSamples.exampleActor.LastName,
                    TestSamples.exampleActor.Bio,
                    TestSamples.exampleActor.ProfileImageName,
                    TestSamples.allowedRoles);

                arrangeContext.SaveChanges();
            }


            using (var assertContext = new MovInfoContext(options))
            {
                var mockWrapUserManager = new Mock <IWrapUserManager>();
                var mockHttpContext     = new Mock <IHttpContextAccessor>();
                var actorsIds           = new long[] { 1, 2 };

                var sut = new BusinessLogicValidator(mockHttpContext.Object, mockWrapUserManager.Object);

                var ex = Assert.ThrowsException <ArgumentException>(() => sut.DoAllActorsExist(assertContext, actorsIds));
                Assert.AreEqual(ex.Message, BusinessLogicValidatorMessages.OneOrMoreActorsMissing);
            }
        }
Ejemplo n.º 9
0
        public void AddActorShould_ThrowWhenActorExist()
        {
            var db           = new TFContext(this.DatabaseSimulator());
            var actorService = new ActorServices(db);

            Actor actorPesho = new Actor
            {
                ApiActorId = actorId,
                FullName   = firstActorName
            };

            actorService.AddActor(actorPesho);

            Assert.ThrowsException <EntityAlreadyExistingException>(() => actorService.AddActor(actorPesho));
        }
Ejemplo n.º 10
0
        public void AddActorShould_AddActorCorrect()
        {
            var db           = new TFContext(this.DatabaseSimulator());
            var actorService = new ActorServices(db);

            var actor = new Actor()
            {
                Id       = actorId,
                FullName = firstActorName
            };

            var result = actorService.AddActor(actor);

            Assert.AreEqual(1, result.Id);
        }
Ejemplo n.º 11
0
        public void FindActorByNameShould_FindActorCorrect()
        {
            var db           = new TFContext(this.DatabaseSimulator());
            var actorService = new ActorServices(db);

            var actor = new Actor()
            {
                Id       = actorId,
                FullName = firstActorName
            };

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

            var result = actorService.FindActorByName(firstActorName);

            Assert.AreEqual(1, result.Id);
        }
Ejemplo n.º 12
0
        public void AddActorShould_RestoreActor()
        {
            var db           = new TFContext(this.DatabaseSimulator());
            var actorService = new ActorServices(db);

            Actor actorPesho = new Actor
            {
                ApiActorId = actorId,
                FullName   = firstActorName
            };

            actorService.AddActor(actorPesho);

            actorPesho.IsDeleted = true;

            actorService.AddActor(actorPesho);

            Assert.IsFalse(actorPesho.IsDeleted);
        }
Ejemplo n.º 13
0
        public void AddActor_Should_Succeed()
        {
            var options = TestUtils.GetOptions(nameof(AddActor_Should_Succeed));

            using (var arrangeContext = new MovInfoContext(options))
            {
                arrangeContext.Actors.Add(TestSamples.exampleActor);
                arrangeContext.Movies.Add(TestSamples.exampleMovie);

                TestSamples.exampleActor.MoviesActors.Add(TestSamples.exampleMoviesActors);

                arrangeContext.SaveChanges();
            }

            using (var assertContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();
                var sut = new ActorServices(assertContext, mockBusinessValidator.Object);
                Assert.AreEqual(assertContext.Actors.Count(), 1);
            }
        }
Ejemplo n.º 14
0
        public void FindActorsAsync_Should_ReturnCorrectActors()
        {
            var options = TestUtils.GetOptions(nameof(FindActorsAsync_Should_ReturnCorrectActors));

            using (var arrangeContext = new MovInfoContext(options))
            {
                arrangeContext.Actors.Add(TestSamples.exampleActor);
                arrangeContext.Actors.Add(TestSamples.exampleActor2);

                arrangeContext.SaveChanges();
            }

            using (var assertContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();
                var sut = new ActorServices(assertContext, mockBusinessValidator.Object);

                var result = sut.FindActorsAsync("ExampleFirstName", "2");
                Assert.AreEqual(result.Result.First().FirstName, "ExampleFirstName");
                Assert.AreEqual(result.Result.Count, 1);
            }
        }
Ejemplo n.º 15
0
        public void EditActor_Should_CorrectlyEdit_Actor()
        {
            var options = TestUtils.GetOptions(nameof(EditActor_Should_CorrectlyEdit_Actor));

            using (var arrangeContext = new MovInfoContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessLogicValidator>();
                var sut = new ActorServices(arrangeContext, mockBusinessValidator.Object);

                var addedActor = sut.AddActorAsync(
                    TestSamples.exampleActor.FirstName,
                    TestSamples.exampleActor.LastName,
                    TestSamples.exampleActor.Bio,
                    TestSamples.exampleActor.ProfileImageName,
                    TestSamples.allowedRoles);

                var editedActor = sut.EditActorAsync(
                    TestSamples.exampleActor.Id,
                    TestSamples.exampleActor.FirstName,
                    TestSamples.exampleActor.LastName,
                    TestSamples.exampleActor.Bio,
                    TestSamples.exampleActor.ProfileImageName,
                    TestSamples.allowedRoles);

                arrangeContext.SaveChanges();
            }

            using (var assertContext = new MovInfoContext(options))
            {
                Assert.AreEqual(assertContext.Actors.First().Id, TestSamples.exampleActor.Id);
                Assert.AreEqual(assertContext.Actors.First().FirstName, TestSamples.exampleActor2.FirstName);
                Assert.AreEqual(assertContext.Actors.First().LastName, TestSamples.exampleActor2.LastName);
                Assert.AreEqual(assertContext.Actors.First().Bio, TestSamples.exampleActor2.Bio);
                Assert.AreEqual(assertContext.Actors.First().ProfileImageName, TestSamples.exampleActor2.ProfileImageName);
            }
        }