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

     1  package states_test
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"flamingo.me/flamingo-commerce/v3/checkout/domain/placeorder/process"
     8  	"flamingo.me/flamingo-commerce/v3/checkout/domain/placeorder/states"
     9  	"flamingo.me/flamingo/v3/framework/flamingo"
    10  	"github.com/stretchr/testify/assert"
    11  	"github.com/stretchr/testify/require"
    12  )
    13  
    14  func TestFailed_IsFinal(t *testing.T) {
    15  	s := states.Failed{}
    16  	assert.True(t, s.IsFinal())
    17  }
    18  
    19  func TestFailed_Name(t *testing.T) {
    20  	s := states.Failed{}
    21  	assert.Equal(t, "Failed", s.Name())
    22  }
    23  
    24  func TestFailed_Rollback(t *testing.T) {
    25  	s := states.Failed{}
    26  	assert.Nil(t, s.Rollback(context.Background(), nil))
    27  }
    28  
    29  func TestFailed_Run(t *testing.T) {
    30  	p := &process.Process{}
    31  	s := new(states.Failed).Inject(&eventRouter{
    32  		validator: func(event flamingo.Event) {
    33  			require.IsType(t, &states.FailedEvent{}, event)
    34  			assert.Equal(t, event.(*states.FailedEvent).ProcessContext, p.Context())
    35  		},
    36  	})
    37  	assert.Equal(t, s.Run(context.Background(), &process.Process{}), process.RunResult{})
    38  }