github.com/stripe/stripe-go/v76@v76.25.0/issuing/card/client_test.go (about) 1 package card 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 TestIssuingCardGet(t *testing.T) { 12 card, err := Get("ic_123", nil) 13 assert.Nil(t, err) 14 assert.NotNil(t, card) 15 assert.Equal(t, "issuing.card", card.Object) 16 } 17 18 func TestIssuingCardList(t *testing.T) { 19 i := List(&stripe.IssuingCardListParams{}) 20 21 // Verify that we can get at least one card 22 assert.True(t, i.Next()) 23 assert.Nil(t, i.Err()) 24 assert.NotNil(t, i.IssuingCard()) 25 assert.Equal(t, "issuing.card", i.IssuingCard().Object) 26 assert.NotNil(t, i.IssuingCardList()) 27 } 28 29 func TestIssuingCardNew(t *testing.T) { 30 params := &stripe.IssuingCardParams{ 31 Cardholder: stripe.String("ich_123"), 32 Currency: stripe.String(string(stripe.CurrencyUSD)), 33 SpendingControls: &stripe.IssuingCardSpendingControlsParams{ 34 AllowedCategories: stripe.StringSlice([]string{ 35 "fast_food_restaurants", 36 "miscellaneous_food_stores", 37 }), 38 SpendingLimits: []*stripe.IssuingCardSpendingControlsSpendingLimitParams{ 39 { 40 Amount: stripe.Int64(1000), 41 Interval: stripe.String(string(stripe.IssuingCardSpendingControlsSpendingLimitIntervalWeekly)), 42 }, 43 }, 44 }, 45 Type: stripe.String(string(stripe.IssuingCardTypeVirtual)), 46 } 47 card, err := New(params) 48 assert.Nil(t, err) 49 assert.NotNil(t, card) 50 assert.Equal(t, "issuing.card", card.Object) 51 } 52 53 func TestIssuingCardUpdate(t *testing.T) { 54 card, err := Update("ic_123", &stripe.IssuingCardParams{ 55 Status: stripe.String(string(stripe.IssuingCardStatusInactive)), 56 }) 57 assert.Nil(t, err) 58 assert.NotNil(t, card) 59 assert.Equal(t, "issuing.card", card.Object) 60 }