public async Task GetAll_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); List <WishlistItem> items = new List <WishlistItem> { new WishlistItem { Id = 1, Title = "test_item", Type = ItemType.Book } }; A.CallTo(() => fakeRepo.ReadAll()).Returns(items); // act var result = await service.GetAll(); // assert Assert.IsTrue(result.ToList().Count == 1); Assert.IsTrue(result.ToList()[0].Id == 1); Assert.IsTrue(result.ToList()[0].Title.Equals("test_item")); A.CallTo(() => fakeUow.Dispose()).MustHaveHappened(); }