1package refund
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 TestRefundGet(t *testing.T) {
12	refund, err := Get("gold", nil)
13	assert.Nil(t, err)
14	assert.NotNil(t, refund)
15}
16
17func TestRefundList(t *testing.T) {
18	i := List(&stripe.RefundListParams{})
19
20	// Verify that we can get at least one refund
21	assert.True(t, i.Next())
22	assert.Nil(t, i.Err())
23	assert.NotNil(t, i.Refund())
24	assert.NotNil(t, i.RefundList())
25}
26
27func TestRefundNew(t *testing.T) {
28	refund, err := New(&stripe.RefundParams{
29		Charge:        stripe.String("ch_123"),
30		PaymentIntent: stripe.String("pi_123"),
31		Reason:        stripe.String(string(stripe.RefundReasonDuplicate)),
32	})
33	assert.Nil(t, err)
34	assert.NotNil(t, refund)
35}
36
37func TestRefundUpdate(t *testing.T) {
38	refund, err := Update("gold", &stripe.RefundParams{
39		Params: stripe.Params{
40			Metadata: map[string]string{
41				"foo": "bar",
42			},
43		},
44	})
45	assert.Nil(t, err)
46	assert.NotNil(t, refund)
47}
48