예제 #1
0
        public void UpdateOrderForNonExistingOrder()
        {
            //arrange
            List <PaymentOrderLine> orderlinesToUpdate = new List <PaymentOrderLine>();

            PaymentOrderLine orderlineToUpdate = InitializeOrderlinesTestData()[0];

            orderlineToUpdate.Quantity = 0 - orderlineToUpdate.Quantity;
            orderlinesToUpdate.Add(orderlineToUpdate);

            PaymentOrderLine newOrderLine = new PaymentOrderLine
            {
                Description = "New Item 1",
                ItemId      = "3",
                Quantity    = 2,
                GoodsType   = GoodsType.Item,
                UnitPrice   = 11.0
            };

            orderlinesToUpdate.Add(newOrderLine);

            UpdateOrderRequest updateOrderRequest = new UpdateOrderRequest("-1", orderlinesToUpdate);

            //act
            UpdateOrderResult updateOrderResult = _api.UpdateOrder(updateOrderRequest);

            //assert
            Assert.AreEqual(updateOrderResult.Result, Result.SystemError);
            Assert.IsNotEmpty(updateOrderResult.ResultMessage);
            Assert.IsNotEmpty(updateOrderResult.ResultMerchantMessage);
        }
예제 #2
0
        public void UpdateOrderForExistingOrder()
        {
            //arrange
            InvoiceReservationRequest request = new InvoiceReservationRequest
            {
                Terminal               = _testKlarnaDKTerminal,
                ShopOrderId            = "invoice-" + Guid.NewGuid().ToString(),
                Amount                 = Amount.Get(42.00, Currency.DKK),
                CustomerInfo           = InitializeCustomerInfoTestData(),
                OrderLines             = InitializeOrderlinesTestData(),
                PersonalIdentifyNumber = "0801363945",
                BirthDate              = "0801363945"
            };
            InvoiceReservationResult reservationResult = _api.CreateInvoiceReservation(request);

            CaptureRequest captureRequest = new CaptureRequest
            {
                Amount    = Amount.Get(42.00, Currency.DKK),
                PaymentId = reservationResult.Payment.PaymentId
            };
            CaptureResult captureResult = _api.Capture(captureRequest);

            List <PaymentOrderLine> orderlinesToUpdate = new List <PaymentOrderLine>();

            PaymentOrderLine orderlineToUpdate = InitializeOrderlinesTestData()[0];

            orderlineToUpdate.Quantity = 0 - orderlineToUpdate.Quantity;
            orderlinesToUpdate.Add(orderlineToUpdate);

            PaymentOrderLine newOrderLine = new PaymentOrderLine
            {
                Description = "New Item 1",
                ItemId      = "3",
                Quantity    = 2,
                GoodsType   = GoodsType.Item,
                UnitPrice   = 11.0
            };

            orderlinesToUpdate.Add(newOrderLine);

            //orderlinesToUpdate.ForEach(p => p.Quantity = 0 - p.Quantity);
            UpdateOrderRequest updateOrderRequest = new UpdateOrderRequest(captureResult.Payment.PaymentId, orderlinesToUpdate);

            //act
            UpdateOrderResult updateOrderResult = _api.UpdateOrder(updateOrderRequest);

            //assert
            Assert.AreEqual(updateOrderResult.Result, Result.Success);
        }
예제 #3
0
 public void Setup()
 {
     this.orderline = new PaymentOrderLine();
 }