public async Task CanDeleteReportItem() { //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.DeleteReportAsync(Guid.NewGuid()); //Assert Mock.VerifyAll(); }