Этот коммит содержится в:
Claudio Costa
2020-09-08 20:36:59 +02:00
коммит произвёл GitHub
родитель 4c518055f4
Коммит 7612888052
4 изменённых файлов: 41 добавлений и 6 удалений

Просмотреть файл

@@ -497,15 +497,14 @@ func (o *SearchParameter) SearchParameterToJson() string {
return string(b)
}
func SearchParameterFromJson(data io.Reader) *SearchParameter {
func SearchParameterFromJson(data io.Reader) (*SearchParameter, error) {
decoder := json.NewDecoder(data)
var searchParam SearchParameter
err := decoder.Decode(&searchParam)
if err != nil {
return nil
if err := decoder.Decode(&searchParam); err != nil {
return nil, err
}
return &searchParam
return &searchParam, nil
}
func (o *Post) ChannelMentions() []string {

Просмотреть файл

@@ -856,3 +856,31 @@ func TestPostPatchDisableMentionHighlights(t *testing.T) {
assert.Nil(t, patch.Message)
})
}
func TestSearchParameterFromJson(t *testing.T) {
t.Run("empty input", func(t *testing.T) {
params, err := SearchParameterFromJson(strings.NewReader(""))
require.Nil(t, params)
require.Error(t, err)
})
t.Run("invalid json", func(t *testing.T) {
params, err := SearchParameterFromJson(strings.NewReader("invalid"))
require.Nil(t, params)
require.Error(t, err)
})
t.Run("valid empty input", func(t *testing.T) {
params, err := SearchParameterFromJson(strings.NewReader("{}"))
require.NoError(t, err)
require.NotNil(t, params)
require.Equal(t, &SearchParameter{}, params)
})
t.Run("valid non-empty input", func(t *testing.T) {
params, err := SearchParameterFromJson(strings.NewReader("{\"terms\": \"test\"}"))
require.NoError(t, err)
require.NotNil(t, params)
require.Equal(t, "test", *params.Terms)
})
}