public RequestDocumentCreationTests()
        {
            _payment = FakePayment.CreatePayment(125m, PaymentType.CreditCard, Guid.NewGuid());
            _payment.Properties[DataCashPaymentGateway.DataCashReferencePropertyName]         = "DataCashReferencePropertyValue";
            _payment.Properties[DataCashPaymentGateway.DataCashAuthenticateCodePropertyName]  = "DataCashAuthenticateCodePropertyValue";
            _payment.Properties[DataCashPaymentGateway.DataCashMerchantReferencePropertyName] = "DataCashMerchantReferencePropertyValue";
            _payment.ProviderTransactionID = "ProviderTransactionIDValue";

            var orderForm = FakeOrderForm.CreateOrderForm();
            var shipment  = new FakeShipment();

            shipment.ShippingAddress = FakeOrderAddress.CreateOrderAddress();

            orderForm.Shipments.Add(shipment);
            orderForm.Payments.Add(_payment);

            _cart = new FakeOrderGroup();
            _cart.Forms.Add(orderForm);

            var _orderGroupCalculatorMock = new Mock <IOrderGroupCalculator>();

            _orderGroupCalculatorMock.Setup(x => x.GetTotal(It.IsAny <IOrderGroup>())).Returns(new Money(125m, Currency.USD));
            var _lineItemCalculatorMock = new Mock <ILineItemCalculator>();

            _lineItemCalculatorMock.Setup(x => x.GetExtendedPrice(It.IsAny <ILineItem>(), It.IsAny <Currency>())).Returns(new Money(115.33m, Currency.USD));

            _subject = new RequestDocumentCreation(_orderGroupCalculatorMock.Object, _lineItemCalculatorMock.Object, new FakeDataCashConfiguration());
        }
 public static string ToStatus(this FakePayment payment)
 {
     // I wasn't sure what to put here
     // It seemed that the status could be good
     // but that's only if the payment is null
     // otherwise we'll return bad, and use emphasis!
     return((payment != null)? "GOOD!" : "BAD!");
 }
        public IActionResult CheckRule(FakePayment fakePayment)
        {
            var result = _fakePaymentService.CheckCard(fakePayment);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
        public IActionResult Update(FakePayment fakePayment)
        {
            var result = _fakePaymentService.Update(fakePayment);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
Пример #5
0
        private IResult CheckMoneyInCard(FakePayment fakePayment)
        {
            var result = _fakePaymentDal.GetAll(f => f.CardNumber == fakePayment.CardNumber && f.MoneyInCard >= fakePayment.MoneyInCard);

            if (result.Count > 0)
            {
                return(new SuccessResult());
            }
            return(new ErrorResult("Kartınızda Yeterli Miktarda Para Yok"));
        }
Пример #6
0
        public IResult CheckCard(FakePayment fakePayment)
        {
            IResult result = BusinessRules.Run(CheckCardInformation(fakePayment));

            if (result != null)
            {
                return(result);
            }
            return(new SuccessResult("Kart bilgileri doğru, Ödeme işlemi yapılıyor"));
        }
Пример #7
0
        private IResult CheckCardInformation(FakePayment fakePayment)
        {
            var result = _fakePaymentDal.GetAll(f => f.CardNumber == fakePayment.CardNumber &&
                                                f.CardCvv == fakePayment.CardCvv && f.ExpirationDate == fakePayment.ExpirationDate).Any();

            if (!result)
            {
                return(new ErrorResult("Kart Bilgiler Hatalı"));
            }
            return(new SuccessResult());
        }
Пример #8
0
        public IResult Update(FakePayment fakePayment)
        {
            IResult result = BusinessRules.Run(CheckMoneyInCard(fakePayment));

            if (result != null)
            {
                return(result);
            }
            var     result2    = _fakePaymentDal.Get(f => f.CardNumber == fakePayment.CardNumber);
            decimal amountPaye = result2.MoneyInCard - fakePayment.MoneyInCard;

            fakePayment.MoneyInCard = amountPaye;
            fakePayment.CardId      = result2.CardId;
            fakePayment.NameOnCard  = result2.NameOnCard;
            _fakePaymentDal.Update(fakePayment);
            return(new SuccessResult("Ödeme Başarılı"));
        }
Пример #9
0
        public void Can_Create_Omnium_Payment()
        {
            var payment = FakePayment.CreatePayment();

            var omniumPayment = DefaultOmniumOrderFactorySubject.MapPayment(payment, new Money(payment.Amount, Currency));

            var result =
                payment.Status.Equals(omniumPayment.Status) &&
                payment.Amount.Equals(omniumPayment.Amount) &&
                payment.PaymentMethodId == omniumPayment.PaymentMethodId &&
                payment.TransactionType.Equals(omniumPayment.TransactionType) &&
                payment.ImplementationClass.Equals(omniumPayment.ImplementationClass) &&
                payment.AuthorizationCode.Equals(omniumPayment.AuthorizationCode) &&
                payment.TransactionID.Equals(omniumPayment.TransactionID) &&
                payment.ValidationCode.Equals(omniumPayment.ValidationCode);

            Assert.True(result);
        }
        public void CreateExpressCheckoutReqDetailsType_ShouldReturnCorrectly(TransactionType transType, bool allowChangeAddress, bool allowGuest,
                                                                              PaymentActionCodeType?expectedAction, string expectedAddressOverride, SolutionTypeType?expectedSolutionType, LandingPageType?expectedLandingPageType)
        {
            var payment = new FakePayment();

            payment.TransactionType = transType.ToString();
            payment.BillingAddress  = FakeOrderAddress.CreateOrderAddress();

            var config = new PayPalConfigurationForTest();

            config.Setup(allowChangeAddress, allowGuest);

            var result = _subject.CreateExpressCheckoutReqDetailsType(payment, config);

            Assert.Equal(payment.BillingAddress.Email, result.BuyerEmail);
            Assert.Equal(expectedAction, result.PaymentAction);
            Assert.Equal(expectedAddressOverride, result.AddressOverride);
            Assert.Equal(expectedSolutionType, result.SolutionType);
            Assert.Equal(expectedLandingPageType, result.LandingPage);
        }
Пример #11
0
        public DIBSRequestHelperTests()
        {
            _payment = FakePayment.CreatePayment(125m, PaymentType.CreditCard, Guid.NewGuid());

            var orderForm = FakeOrderForm.CreateOrderForm();
            var shipment  = new FakeShipment();

            orderForm.Shipments.Add(shipment);
            orderForm.Payments.Add(_payment);

            _orderGroup = new FakeOrderGroup();
            _orderGroup.Forms.Add(orderForm);

            _dibsConfiguration = new DIBSConfigurationForTest();

            var orderNumberGeneratorMock = new Mock <IOrderNumberGenerator>();

            orderNumberGeneratorMock.Setup(x => x.GenerateOrderNumber(It.IsAny <IOrderGroup>())).Returns(_orderNumber);

            _subject = new DIBSRequestHelperForTest(orderNumberGeneratorMock.Object, new SiteContext(), _dibsConfiguration);
        }