Ejemplo n.º 1
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.º 2
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.º 3
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.º 4
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.º 5
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);
            }
        }