public async Task Add_Test() { // arrange var fakeUowProvider = A.Fake <IUnitOfWorkProvider>(); var fakeUow = A.Fake <IUnitOfWork>(); A.CallTo(() => fakeUowProvider.Get()).Returns(fakeUow); var fakeRepoProvider = A.Fake <IWishlistRepositoryProvider>(); var fakeRepo = A.Fake <IWishlistRepository>(); A.CallTo(() => fakeRepoProvider.Get(fakeUow)).Returns(fakeRepo); WishlistService service = new WishlistService(fakeUowProvider, fakeRepoProvider); WishlistItem item = new WishlistItem { Id = 1, Title = "test_item", Type = ItemType.Book }; // act await service.Add(item); // assert A.CallTo(() => fakeRepo.Create(item)).MustHaveHappened(); A.CallTo(() => fakeUow.Dispose()).MustHaveHappened(); }