You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
916 B
32 lines
916 B
package http_test |
|
|
|
import ( |
|
"errors" |
|
"fmt" |
|
"testing" |
|
|
|
"go-common/app/service/main/antispam/http" |
|
|
|
"github.com/stretchr/testify/assert" |
|
) |
|
|
|
func TestValid(t *testing.T) { |
|
cases := []struct { |
|
cond *http.Condition |
|
expectedErr error |
|
}{ |
|
{&http.Condition{Search: " ", Order: ""}, nil}, |
|
{&http.Condition{Search: "foo", Order: ""}, nil}, |
|
{&http.Condition{Search: "bar", Order: "xxx"}, errors.New("Order by should be 'ASC' or 'DESC' but got(XXX)")}, |
|
{&http.Condition{Search: "bar", Order: "asc"}, nil}, |
|
{&http.Condition{Search: "bar", Order: "ASC"}, nil}, |
|
{&http.Condition{Search: "bar", Order: "DESC"}, nil}, |
|
} |
|
for _, c := range cases { |
|
t.Run(fmt.Sprintf("Search(%q) Order(%q)", c.cond.Search, c.cond.Order), func(t *testing.T) { |
|
assert := assert.New(t) |
|
err := c.cond.Valid() |
|
assert.Equal(c.expectedErr, err, fmt.Sprintf("cond.Valid() = %v, want %v", err, c.expectedErr)) |
|
}) |
|
} |
|
}
|
|
|