github.com/stripe/stripe-go/v76@v76.25.0/promotioncode/client_test.go (about) 1 package promotioncode 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 TestPromotionCodeGet(t *testing.T) { 12 pc, err := Get("promo_123", nil) 13 assert.Nil(t, err) 14 assert.NotNil(t, pc) 15 } 16 17 func TestPromotionCodeList(t *testing.T) { 18 params := &stripe.PromotionCodeListParams{ 19 Code: stripe.String("MYCODE"), 20 Coupon: stripe.String("co_123"), 21 Customer: stripe.String("cus_123"), 22 } 23 i := List(params) 24 25 // Verify that we can get at least one pc 26 assert.True(t, i.Next()) 27 assert.Nil(t, i.Err()) 28 assert.NotNil(t, i.PromotionCode()) 29 assert.NotNil(t, i.PromotionCodeList()) 30 } 31 32 func TestPromotionCodeNew(t *testing.T) { 33 params := &stripe.PromotionCodeParams{ 34 Code: stripe.String("MYCODE"), 35 Coupon: stripe.String("co_123"), 36 Customer: stripe.String("cus_123"), 37 Restrictions: &stripe.PromotionCodeRestrictionsParams{ 38 FirstTimeTransaction: stripe.Bool(true), 39 MinimumAmount: stripe.Int64(1234), 40 MinimumAmountCurrency: stripe.String(string(stripe.CurrencyUSD)), 41 }, 42 } 43 pc, err := New(params) 44 assert.Nil(t, err) 45 assert.NotNil(t, pc) 46 } 47 48 func TestPromotionCodeUpdate(t *testing.T) { 49 params := &stripe.PromotionCodeParams{ 50 Params: stripe.Params{ 51 Metadata: map[string]string{ 52 "foo": "bar", 53 }, 54 }, 55 } 56 pc, err := Update("promo_123", params) 57 assert.Nil(t, err) 58 assert.NotNil(t, pc) 59 }