github.com/Finschia/finschia-sdk@v0.48.1/types/router_test.go (about)

     1  package types_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/suite"
     7  
     8  	sdk "github.com/Finschia/finschia-sdk/types"
     9  )
    10  
    11  type routeTestSuite struct {
    12  	suite.Suite
    13  }
    14  
    15  func TestRouteTestSuite(t *testing.T) {
    16  	suite.Run(t, new(routeTestSuite))
    17  }
    18  
    19  func (s *routeTestSuite) SetupSuite() {
    20  	s.T().Parallel()
    21  }
    22  
    23  func (s *routeTestSuite) TestNilRoute() {
    24  	tests := []struct {
    25  		name     string
    26  		route    sdk.Route
    27  		expected bool
    28  	}{
    29  		{
    30  			name:     "all empty",
    31  			route:    sdk.NewRoute("", nil),
    32  			expected: true,
    33  		},
    34  		{
    35  			name:     "only path",
    36  			route:    sdk.NewRoute("some", nil),
    37  			expected: true,
    38  		},
    39  		{
    40  			name: "only handler",
    41  			route: sdk.NewRoute("", func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) {
    42  				return nil, nil
    43  			}),
    44  			expected: true,
    45  		},
    46  		{
    47  			name: "correct route",
    48  			route: sdk.NewRoute("some", func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) {
    49  				return nil, nil
    50  			}),
    51  			expected: false,
    52  		},
    53  	}
    54  
    55  	for _, tt := range tests {
    56  		s.Require().Equal(tt.expected, tt.route.Empty())
    57  	}
    58  }