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  }