public PaymentServiceTests() { CreateTestObject(); Mock <IBankServiceFactory> bankServiceFactory = new Mock <IBankServiceFactory>(MockBehavior.Default); Mock <IBankService> mockBankService = new Mock <IBankService>(); mockBankService.Setup(x => x.ProcessPayment(_paymentRequest)).Returns(_successfulPaymentResponse); mockBankService.Setup(x => x.ProcessPayment(_paymentRequest2)).Returns(_unsuccessfulPaymentResponse); bankServiceFactory.Setup(x => x.GetBankService(_paymentRequest)).Returns(mockBankService.Object); bankServiceFactory.Setup(x => x.GetBankService(_paymentRequest2)).Returns(mockBankService.Object); Mock <IPaymentRepository> mockPaymentRepository = new Mock <IPaymentRepository>(MockBehavior.Default); mockPaymentRepository.Setup(x => x.SavePayment(It.IsAny <PaymentEntity>())); mockPaymentRepository.Setup(x => x.SaveCardInformation(It.IsAny <CardInformationEntity>())); mockPaymentRepository.Setup(x => x.GetPayment(It.IsAny <Guid>())).Returns(_paymentResponseFromRepo); mockPaymentRepository.Setup(x => x.GetCardInformation(It.IsAny <long>())).Returns(_cardInformation); _mockPaymentRepository = mockPaymentRepository.Object; _mockBankServiceFactory = bankServiceFactory.Object; _logger = Mock.Of <ILogger <PaymentService> >(); }
public PaymentService(IBankServiceFactory bankService, IPaymentRepository paymentRepo, ILogger <PaymentService> logger) { _bankServiceFactory = bankService; _paymentRepo = paymentRepo; _logger = logger; }