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)); } }
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)); } }
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); } }
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)); } }
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); } }