github.com/stripe/stripe-go/v76@v76.25.0/source/client_test.go (about) 1 package source 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 TestSourceGet(t *testing.T) { 12 source, err := Get("src_123", nil) 13 assert.Nil(t, err) 14 assert.NotNil(t, source) 15 } 16 17 func TestSourceNew(t *testing.T) { 18 source, err := New(&stripe.SourceParams{ 19 Type: stripe.String("ach_credit_transfer"), 20 Amount: stripe.Int64(1000), 21 Currency: stripe.String(string(stripe.CurrencyUSD)), 22 Flow: stripe.String(string(stripe.SourceFlowReceiver)), 23 Mandate: &stripe.SourceMandateParams{ 24 Amount: stripe.Int64(1000), 25 Acceptance: &stripe.SourceMandateAcceptanceParams{ 26 Date: stripe.Int64(1528573382), 27 IP: stripe.String("127.0.0.1"), 28 Online: &stripe.SourceMandateAcceptanceOnlineParams{ 29 Date: stripe.Int64(1528573382), 30 IP: stripe.String("127.0.0.1"), 31 UserAgent: stripe.String("User-Agent"), 32 }, 33 UserAgent: stripe.String("User-Agent"), 34 Status: stripe.String("accepted"), 35 }, 36 Currency: stripe.String(string(stripe.CurrencyUSD)), 37 Interval: stripe.String("one_time"), 38 NotificationMethod: stripe.String("none"), 39 }, 40 Owner: &stripe.SourceOwnerParams{ 41 Email: stripe.String("jenny.rosen@example.com"), 42 }, 43 Receiver: &stripe.SourceReceiverParams{ 44 RefundAttributesMethod: stripe.String("manual"), 45 }, 46 }) 47 assert.Nil(t, err) 48 assert.NotNil(t, source) 49 } 50 51 func TestSourceUpdate(t *testing.T) { 52 source, err := Update("src_123", &stripe.SourceParams{ 53 Owner: &stripe.SourceOwnerParams{ 54 Email: stripe.String("jenny.rosen@example.com"), 55 }, 56 }) 57 assert.Nil(t, err) 58 assert.NotNil(t, source) 59 } 60 61 func TestSourceDetach(t *testing.T) { 62 source, err := Detach("src_123", &stripe.SourceDetachParams{ 63 Customer: stripe.String("cus_123"), 64 }) 65 assert.Nil(t, err) 66 assert.NotNil(t, source) 67 } 68 69 func TestSourceSharing(t *testing.T) { 70 params := &stripe.SourceParams{ 71 Type: stripe.String("card"), 72 Customer: stripe.String("cus_123"), 73 OriginalSource: stripe.String("src_123"), 74 Usage: stripe.String(string(stripe.SourceUsageReusable)), 75 } 76 params.SetStripeAccount("acct_123") 77 source, err := New(params) 78 assert.Nil(t, err) 79 assert.NotNil(t, source) 80 }