public async Task CanDeleteCostItem() { //Arrange var mockUnitOfWork = new Mock <IUnitOfWork>(); var mockReportRepository = new Mock <IReportRepository>(); var fakeReport = new ReportRoot(); mockUnitOfWork.Setup(m => m.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1)); mockReportRepository.SetupGet(m => m.UnitOfWork).Returns(mockUnitOfWork.Object); mockReportRepository.Setup(m => m.GetAsync(It.IsAny <Guid>())).Returns(Task.FromResult(fakeReport)); mockReportRepository.Setup(m => m.Delete(It.IsAny <ReportRoot>())); var sut = new CostService(mockReportRepository.Object); //Act await sut.DeleteCostItemAsync(Guid.NewGuid(), "a"); //Assert Mock.VerifyAll(); }