1package subitem
2
3import (
4	"testing"
5
6	assert "github.com/stretchr/testify/require"
7	stripe "github.com/stripe/stripe-go/v72"
8	_ "github.com/stripe/stripe-go/v72/testing"
9)
10
11func TestSubscriptionItemDel(t *testing.T) {
12	item, err := Del("si_123", nil)
13	assert.Nil(t, err)
14	assert.NotNil(t, item)
15}
16
17func TestSubscriptionItemGet(t *testing.T) {
18	item, err := Get("si_123", nil)
19	assert.Nil(t, err)
20	assert.NotNil(t, item)
21}
22
23func TestSubscriptionItemList(t *testing.T) {
24	i := List(&stripe.SubscriptionItemListParams{
25		Subscription: stripe.String("sub_123"),
26	})
27
28	// Verify that we can get at least one item
29	assert.True(t, i.Next())
30	assert.Nil(t, i.Err())
31	assert.NotNil(t, i.SubscriptionItem())
32	assert.NotNil(t, i.SubscriptionItemList())
33}
34
35func TestSubscriptionItemNew(t *testing.T) {
36	item, err := New(&stripe.SubscriptionItemParams{
37		Quantity:     stripe.Int64(99),
38		Price:        stripe.String("price_123"),
39		Subscription: stripe.String("sub_123"),
40	})
41	assert.Nil(t, err)
42	assert.NotNil(t, item)
43}
44
45func TestSubscriptionItemUpdate(t *testing.T) {
46	item, err := Update("si_123", &stripe.SubscriptionItemParams{
47		Quantity: stripe.Int64(10),
48	})
49	assert.Nil(t, err)
50	assert.NotNil(t, item)
51}
52