public async void UpdateBill_OkResult() { // Arrange Bill bill = new Bill { Id = 1, Renter = new User { Id = 1 } }; Mock <GenericRepository <Bill> > mockBillRepository = new Mock <GenericRepository <Bill> >(); mockBillRepository .Setup(br => br.GetAsync(It.IsAny <int>(), It.IsAny <string>())) .Returns(System.Threading.Tasks.Task.FromResult(bill)); Mock <GenericRepository <Notification> > mockNotificationRepository = new Mock <GenericRepository <Notification> >(); Mock <IUnitOfWork> mockIUnitOfWork = new Mock <IUnitOfWork>(); mockIUnitOfWork .Setup(u => u.GetRepository <Bill, GenericRepository <Bill> >()) .Returns(mockBillRepository.Object); mockIUnitOfWork .Setup(u => u.GetRepository <Notification, GenericRepository <Notification> >()) .Returns(mockNotificationRepository.Object); BillsController controller = new BillsController(mockIUnitOfWork.Object); // Act IActionResult result = await controller.UpdateBill(bill.Id, DataAccess.Enums.PaymentStatus.Paid, new DateTime()); // Assert Assert.NotNull(result); Assert.IsType <OkResult>(result); }