public async Task TestGetPaymentFromCustomer() { // Arrange var mockPaymentRepo = new Mock <IPaymentRepository>(); var mockCustomerRepo = new Mock <ICustomerRepository>(); var paymentDTO = CreatePaymentData(); mockPaymentRepo.Setup(repo => repo.GetPaymentFromCustomer(paymentDTO.CustomerId)) .ReturnsAsync(paymentDTO); // Act var controller = new PaymentsController(mockPaymentRepo.Object, mockCustomerRepo.Object); var result = await controller.GetPaymentFromCustomer(paymentDTO.CustomerId); // Assert var okResult = Assert.IsType <OkObjectResult>(result); var res = Assert.IsType <Payment>(okResult.Value); var idea = res as Payment; Assert.Equal(1, idea.PaymentId); }