예제 #1
0
        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);
        }