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