Example #1
0
        public async Task AddNewActor_WhenAllParametersAreValid()
        {
            var dabataseName = nameof(AddNewActor_WhenAllParametersAreValid);

            var options = ActorTestUtils.GetOptions(dabataseName);

            var mappingProviderMock = new Mock <IMappingProvider>();

            string actorName = "Michael Jordan";

            using (var arrangeContext = new MovieManagementContext(options))
            {
                var sut = new ActorService(arrangeContext, mappingProviderMock.Object);


                await sut.CreateActorAsync(actorName);

                arrangeContext.SaveChanges();
            }

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                Assert.IsTrue(actAndAssertContext.Actors.Count() == 1);
                Assert.IsTrue(actAndAssertContext.Actors.Any(m => m.Name == actorName));
            }
        }
Example #2
0
        public async Task ChangeActorName_WithCorrectInformation()
        {
            var dabataseName = nameof(Throw_WhenActor_DoesNotExists);

            var options = ActorTestUtils.GetOptions(dabataseName);

            ActorTestUtils.FillContextWithActors(options);

            var mappingProviderMock = new Mock <IMappingProvider>();

            string newActorName = "Joe Dope";

            var actorViewModel = new ActorViewModel()
            {
                Name = newActorName
            };

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var    sut          = new ActorService(actAndAssertContext, mappingProviderMock.Object);
                string oldActorName = "Julia Roberts";

                await sut.ChangeActorNameAsync(oldActorName, actorViewModel);

                Assert.IsTrue(await actAndAssertContext.Actors.AnyAsync(m => m.Name == newActorName));
            }
        }
Example #3
0
        public async Task Call_MapFunction_Once()
        {
            var dabataseName = nameof(Call_MapFunction_Once);

            var options = ActorTestUtils.GetOptions(dabataseName);

            var collectionOfActors = new List <Actor>();

            var mappingProviderMock = new Mock <IMappingProvider>();

            mappingProviderMock
            .Setup(x => x.MapTo <ICollection <ActorViewModel> >(It.IsAny <List <Actor> >()))
            .Callback <object>(inputargs => collectionOfActors = inputargs as List <Actor>);
            using (var arrangeContext = new MovieManagementContext(options))
            {
                arrangeContext.Actors.Add(new Actor()
                {
                    Name = "Mihail Bilalov"
                });
                arrangeContext.Actors.Add(new Actor()
                {
                    Name = "Zahari Baharov",
                });
                await arrangeContext.SaveChangesAsync();
            }

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var sut = new ActorService(actAndAssertContext, mappingProviderMock.Object);
                await sut.GetAllActorsAsync();

                //checks if the map function is called once with two added actors
                mappingProviderMock.Verify(m => m.MapTo <ICollection <ActorViewModel> >(collectionOfActors), Times.Once);
            }
        }
Example #4
0
        public async Task Throw_WhenActor_DoesNotExists()
        {
            var dabataseName = nameof(Throw_WhenActor_DoesNotExists);

            var options = ActorTestUtils.GetOptions(dabataseName);

            ActorTestUtils.FillContextWithActors(options);

            var mappingProviderMock = new Mock <IMappingProvider>();

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var    sut       = new ActorService(actAndAssertContext, mappingProviderMock.Object);
                string actorName = "Brat Pitt";

                await Assert.ThrowsExceptionAsync <EntityInvalidException>(
                    async() => await sut.GetActorByNameAsync(actorName));
            }
        }
Example #5
0
        public async Task ReturnCorrectViewModel()
        {
            var dabataseName = nameof(ReturnCorrectViewModel);

            var options = ActorTestUtils.GetOptions(dabataseName);

            var mappingProviderMock = new Mock <IMappingProvider>();

            mappingProviderMock.Setup(x => x.MapTo <ActorViewModel>(It.IsAny <Actor>())).Returns(new ActorViewModel());

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var sut = new ActorService(actAndAssertContext, mappingProviderMock.Object);

                string actorName = "Michael Jordan";

                var result = await sut.CreateActorAsync(actorName);

                Assert.IsInstanceOfType(result, typeof(ActorViewModel));
            }
        }
        public async Task Delete_ActorSuccesfully()
        {
            var dabataseName = nameof(Delete_ActorSuccesfully);

            var options = ActorTestUtils.GetOptions(dabataseName);

            ActorTestUtils.FillContextWithActors(options);

            var mappingProviderMock = new Mock <IMappingProvider>();

            using (var actAndAssertContext = new MovieManagementContext(options))
            {
                var    sut       = new ActorService(actAndAssertContext, mappingProviderMock.Object);
                string actorName = "Julia Roberts";

                Assert.IsTrue(actAndAssertContext.Actors.Count() == 1);

                await sut.DeleteActorAsync(actorName);

                Assert.IsTrue(actAndAssertContext.Actors.Count() == 0);
            }
        }