Exemplo n.º 1
0
        public PaymentBusinessTest()
        {
            _logger     = Substitute.For <ILoggerManager>();
            _unitOfWork = Substitute.For <IUnitOfWork>();
            _mapper     = Substitute.For <IMapper>();

            _cheapPaymentGateway     = Substitute.For <ICheapPaymentGateway>();
            _expensivePaymentGateway = Substitute.For <IExpensivePaymentGateway>();
            _premiumPaymentGateway   = Substitute.For <IPremiumPaymentGateway>();

            _serviceAccessor = Substitute.For <Register.ServiceResolver>();
            _serviceAccessor.Invoke(Constants.CHEAP).Returns(_cheapPaymentGateway);
            _serviceAccessor.Invoke(Constants.EXPENSIVE).Returns(_expensivePaymentGateway);
            _serviceAccessor.Invoke(Constants.PREMIUM).Returns(_premiumPaymentGateway);

            _mapper.Map <PaymentEntities.Entities.Payment>(Arg.Any <PaymentRequestModel>()).Returns(GetPayment());

            _paymentBusiness = new PaymentBusiness.Payment.PaymentBusiness(_logger, _unitOfWork, _mapper, _serviceAccessor);
        }