diff --git a/struct_utils/map_params_test.go b/struct_utils/map_params_test.go index 369264e48eb00adaf249236e35c5b22eb0e0b469..a0d539e562cd65f831473c0231cdec542a7729a5 100644 --- a/struct_utils/map_params_test.go +++ b/struct_utils/map_params_test.go @@ -59,3 +59,24 @@ func TestAnonymous(t *testing.T) { } t.Logf("ps=%+v -> pm=%+v", ps, pm) } + +func TestMapParams(t *testing.T) { + type paramsStruct struct { + ID int64 `json:"id,omitempty"` + IDs []int64 `json:"ids,omitempty"` + } + + ps := paramsStruct{ID: 123} + pm := struct_utils.MapParams(ps) + if len(pm) != 1 || pm["id"] != "123" { + t.Fatalf("wrong params: %+v != %+v", ps, pm) + } + t.Logf("ps=%+v -> pm=%+v", ps, pm) + + ps = paramsStruct{IDs: []int64{1, 2, 3}} + pm = struct_utils.MapParams(ps) + if len(pm) != 1 || pm["ids"] != "[1,2,3]" { + t.Fatalf("wrong params: %+v != %+v", ps, pm) + } + t.Logf("ps=%+v -> pm=%+v", ps, pm) +}