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  }