Exemplo n.º 1
0
        public void PaymentProcessCheapGateWay(PaymentDto paymentDto, PaymentState paymentState, PaymentStateEnum state)
        {
            //arrange
            _cheapPaymentGateway.Setup(x => x.PaymentProcessCheap(paymentDto)).Returns(state);

            //act
            var paymentStateResult = _paymentGateWay.PaymentProcess(paymentDto, paymentState);

            //assert
            _cheapPaymentGateway.Verify(x => x.PaymentProcessCheap(paymentDto), Times.Once());
            Assert.AreEqual(paymentStateResult.State, state.ToString());
        }
Exemplo n.º 2
0
        public async Task <Payment> AddPayment(PaymentDto payment)
        {
            try
            {
                var paymentEntity = _mapper.Map <PaymentDto, Payment>(payment);
                paymentEntity = _paymentRepository.AddAsync(paymentEntity).Result;
                PaymentState paymentStateData = new PaymentState()
                {
                    Payment = paymentEntity, PaymentId = paymentEntity.PaymentId, CreatedDate = DateTime.Now, State = PaymentStateEnum.Pending.ToString()
                };
                var paymentState = await _paymentStateRepository.AddAsync(paymentStateData);

                _UOW.Complete();

                _paymentGateway.PaymentProcess(payment, paymentState);
                return(paymentEntity);
            }
            catch (Exception)
            {
                throw new Exception("This payment can not be processed");
            }
        }