github.com/stripe/stripe-go/v76@v76.25.0/checkout/session/client_test.go (about) 1 package session 2 3 import ( 4 "testing" 5 6 assert "github.com/stretchr/testify/require" 7 stripe "github.com/stripe/stripe-go/v76" 8 _ "github.com/stripe/stripe-go/v76/testing" 9 ) 10 11 func TestCheckoutSessionGet(t *testing.T) { 12 session, err := Get("cs_123", nil) 13 assert.Nil(t, err) 14 assert.NotNil(t, session) 15 } 16 17 func TestCheckoutSessionNew(t *testing.T) { 18 params := &stripe.CheckoutSessionParams{ 19 CancelURL: stripe.String("https://stripe.com/cancel"), 20 ClientReferenceID: stripe.String("1234"), 21 LineItems: []*stripe.CheckoutSessionLineItemParams{ 22 { 23 Quantity: stripe.Int64(2), 24 }, 25 }, 26 PaymentIntentData: &stripe.CheckoutSessionPaymentIntentDataParams{ 27 Description: stripe.String("description"), 28 Metadata: map[string]string{ 29 "attr1": "val1", 30 "attr2": "val2", 31 }, 32 Shipping: &stripe.ShippingDetailsParams{ 33 Address: &stripe.AddressParams{ 34 Line1: stripe.String("line1"), 35 City: stripe.String("city"), 36 }, 37 Carrier: stripe.String("carrier"), 38 Name: stripe.String("name"), 39 }, 40 }, 41 PaymentMethodTypes: stripe.StringSlice([]string{ 42 "card", 43 }), 44 SubscriptionData: &stripe.CheckoutSessionSubscriptionDataParams{ 45 Metadata: map[string]string{ 46 "attr1": "val1", 47 "attr2": "val2", 48 }, 49 }, 50 SuccessURL: stripe.String("https://stripe.com/success"), 51 } 52 params.AddExpand("line_items") 53 session, err := New(params) 54 assert.Nil(t, err) 55 assert.NotNil(t, session) 56 assert.Equal(t, session.LineItems.Data[0].Object, "item") 57 } 58 59 func TestCheckoutSessionList(t *testing.T) { 60 i := List(&stripe.CheckoutSessionListParams{}) 61 62 // Verify that we can get at least one session. 63 assert.True(t, i.Next()) 64 assert.Nil(t, i.Err()) 65 assert.NotNil(t, i.CheckoutSession()) 66 assert.NotNil(t, i.CheckoutSessionList()) 67 } 68 69 func TestCheckoutSessionListLineItems(t *testing.T) { 70 params := &stripe.CheckoutSessionListLineItemsParams{Session: stripe.String("cs_123")} 71 i := ListLineItems(params) 72 73 // Verify that we can get at least one line item. 74 assert.True(t, i.Next()) 75 assert.Nil(t, i.Err()) 76 assert.NotNil(t, i.LineItem()) 77 assert.NotNil(t, i.LineItemList()) 78 }