flamingo.me/flamingo-commerce/v3@v3.11.0/checkout/domain/placeorder/states/trigger_client_sdk_test.go (about)

     1  package states_test
     2  
     3  import (
     4  	"context"
     5  	"net/url"
     6  	"testing"
     7  
     8  	"flamingo.me/flamingo-commerce/v3/checkout/domain/placeorder/process"
     9  	"flamingo.me/flamingo-commerce/v3/checkout/domain/placeorder/states"
    10  	"flamingo.me/flamingo-commerce/v3/payment/application"
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func TestTriggerClientSDK_IsFinal(t *testing.T) {
    15  	s := states.TriggerClientSDK{}
    16  	assert.False(t, s.IsFinal())
    17  }
    18  
    19  func TestTriggerClientSDK_Name(t *testing.T) {
    20  	s := states.TriggerClientSDK{}
    21  	assert.Equal(t, "TriggerClientSDK", s.Name())
    22  }
    23  
    24  func TestTriggerClientSDK_Rollback(t *testing.T) {
    25  	s := states.TriggerClientSDK{}
    26  	assert.Nil(t, s.Rollback(context.Background(), nil))
    27  }
    28  
    29  func TestTriggerClientSDK_Run(t *testing.T) {
    30  	s := states.TriggerClientSDK{}
    31  	isCalled := false
    32  	s.Inject(nil, func(_ context.Context, _ *process.Process, _ *application.PaymentService) process.RunResult {
    33  		isCalled = true
    34  		return process.RunResult{}
    35  	})
    36  
    37  	s.Run(context.Background(), nil)
    38  
    39  	assert.True(t, isCalled)
    40  }
    41  
    42  func TestNewTriggerClientSDKStateData(t *testing.T) {
    43  	assert.Equal(t,
    44  		process.StateData(states.TriggerClientSDKData{URL: &url.URL{Host: "test.com"}, Data: "data"}),
    45  		states.NewTriggerClientSDKStateData(&url.URL{Host: "test.com"}, "data"))
    46  }