public void Call_SaveChangesMethod_OfTheUnitOfWork() { // Arrange var comicsDataModels = new List <ComicsDataModel>() { new ComicsDataModel() { Title = "title", isDeleted = false } }; var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedRepo = new Mock <IEfRepository <ComicsDataModel> >(); mockedRepo.Setup(repo => repo.All).Returns(comicsDataModels); mockedUnitOfWork.Setup(unit => unit.SaveChanges()); var comicsService = new ComicsService(mockedUnitOfWork.Object, mockedRepo.Object); // Act comicsService.RemoveComic("title"); // Arrange mockedUnitOfWork.Verify(unit => unit.SaveChanges(), Times.Once); }
public void ThrowArgumentNullExcpetion_WhenIsPassed_InvalidArgumentValue() { // Arrange var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedRepo = new Mock <IEfRepository <ComicsDataModel> >(); var comicsService = new ComicsService(mockedUnitOfWork.Object, mockedRepo.Object); // Act & Assert Assert.That(() => comicsService.GetComic(null), Throws.ArgumentNullException.With.Message.Contain("title")); }
public void Call_AllProperty_ForTheRepository() { // Arrange var comicsDataModels = new List <ComicsDataModel>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedRepo = new Mock <IEfRepository <ComicsDataModel> >(); mockedRepo.Setup(repo => repo.All).Returns(comicsDataModels); var comicsService = new ComicsService(mockedUnitOfWork.Object, mockedRepo.Object); // Act comicsService.GetComic("title"); // Assert mockedRepo.Verify(repo => repo.All, Times.Once); }
public void Call_SaveChangesMethod_OfTheUnitOfWork() { // Arrange var comicsDataModels = new List <ComicsDataModel>(); var comic = new ComicsDataModel(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedRepo = new Mock <IEfRepository <ComicsDataModel> >(); mockedRepo.Setup(repo => repo.Add(comic)); mockedUnitOfWork.Setup(unit => unit.SaveChanges()); var comicsService = new ComicsService(mockedUnitOfWork.Object, mockedRepo.Object); // Act comicsService.AddComic(comic); // Assert mockedUnitOfWork.Verify(unit => unit.SaveChanges(), Times.Once); }