...

Source file src/go.einride.tech/aip/ordering/request_test.go

Documentation: go.einride.tech/aip/ordering

     1  package ordering
     2  
     3  import (
     4  	"testing"
     5  
     6  	"gotest.tools/v3/assert"
     7  )
     8  
     9  func TestParseOrderBy(t *testing.T) {
    10  	t.Parallel()
    11  	t.Run("success", func(t *testing.T) {
    12  		t.Parallel()
    13  		r := mockRequest{orderBy: "foo asc,bar desc"}
    14  		expected := OrderBy{
    15  			Fields: []Field{
    16  				{Path: "foo"},
    17  				{Path: "bar", Desc: true},
    18  			},
    19  		}
    20  		actual, err := ParseOrderBy(r)
    21  		assert.NilError(t, err)
    22  		assert.DeepEqual(t, expected, actual)
    23  	})
    24  
    25  	t.Run("error", func(t *testing.T) {
    26  		t.Parallel()
    27  		r := mockRequest{orderBy: "/foo"}
    28  		actual, err := ParseOrderBy(r)
    29  		assert.ErrorContains(t, err, "invalid character '/'")
    30  		assert.DeepEqual(t, OrderBy{}, actual)
    31  	})
    32  }
    33  
    34  type mockRequest struct {
    35  	orderBy string
    36  }
    37  
    38  var _ Request = &mockRequest{}
    39  
    40  func (m mockRequest) GetOrderBy() string {
    41  	return m.orderBy
    42  }
    43  

View as plain text