github.com/plutov/paypal/v4@v4.7.1/order_test.go (about) 1 package paypal 2 3 import ( 4 "context" 5 "testing" 6 ) 7 8 var testClientID = "AXy9orp-CDaHhBZ9C78QHW2BKZpACgroqo85_NIOa9mIfJ9QnSVKzY-X_rivR_fTUUr6aLjcJsj6sDur" 9 var testSecret = "EBoIiUSkCKeSk49hHSgTem1qnjzzJgRQHDEHvGpzlLEf_nIoJd91xu8rPOBDCdR_UYNKVxJE-UgS2iCw" 10 11 func TestUpdateOrder(t *testing.T) { 12 ctx := context.Background() 13 14 c, _ := NewClient(testClientID, testSecret, APIBaseSandBox) 15 _, _ = c.GetAccessToken(ctx) 16 17 orderResponse, err := c.CreateOrder( 18 ctx, 19 OrderIntentCapture, 20 []PurchaseUnitRequest{ 21 { 22 Amount: &PurchaseUnitAmount{ 23 Value: "7.00", 24 Currency: "USD", 25 }, 26 }, 27 }, 28 &CreateOrderPayer{}, 29 &ApplicationContext{}, 30 ) 31 if err != nil { 32 t.Errorf("Not expected error for CreateOrder(), got %s", err.Error()) 33 } 34 35 order, err := c.GetOrder(ctx, orderResponse.ID) 36 if err != nil { 37 t.Errorf("Not expected error for GetOrder(), got %s", err.Error()) 38 } 39 40 if order.PurchaseUnits[0].Amount.Value != "7.00" { 41 t.Errorf("CreateOrder amount incorrect") 42 } 43 44 err = c.UpdateOrder( 45 ctx, 46 orderResponse.ID, 47 "replace", 48 "/purchase_units/@reference_id=='default'/amount", 49 map[string]string{ 50 "currency_code": "USD", 51 "value": "2.00", 52 }, 53 ) 54 if err != nil { 55 t.Errorf("Not expected error for UpdateOrder(), got %s", err.Error()) 56 } 57 58 order, err = c.GetOrder(ctx, orderResponse.ID) 59 if err != nil { 60 t.Errorf("Not expected error for GetOrder(), got %s", err.Error()) 61 } 62 63 if order.PurchaseUnits[0].Amount.Value != "2.00" { 64 t.Errorf("CreateOrder after update amount incorrect") 65 } 66 }