@@ -636,6 +636,49 @@ func testQueryParam(t *testing.T, c *Client) {
636636 Get ("/query-parameter" )
637637 assertSuccess (t , resp , err )
638638 tests .AssertEqual (t , "key1=value1&key1=value11&key2=value2&key2=value22&key3=value3&key4=value4&key4=value44&key5=value5&key6=value6&key6=value66" , resp .String ())
639+
640+ // SetQueryParamsFromValues
641+ values := url.Values {}
642+ values .Add ("key1" , "value1" )
643+ values .Add ("key2" , "value2" )
644+ values .Add ("key3" , "value3" )
645+ resp , err = c .R ().
646+ SetQueryParamsFromValues (values ).
647+ Get ("/query-parameter" )
648+ assertSuccess (t , resp , err )
649+ tests .AssertEqual (t , "key1=value1&key2=value2&key3=value3&key4=client&key5=client&key5=extra" , resp .String ())
650+
651+ // SetQueryParamsFromStruct
652+ type QueryParams struct {
653+ Key1 string `url:"key1"`
654+ Key2 string `url:"key2"`
655+ Key3 string `url:"key3"`
656+ }
657+ params := QueryParams {
658+ Key1 : "value1" ,
659+ Key2 : "value2" ,
660+ Key3 : "value3" ,
661+ }
662+ resp , err = c .R ().
663+ SetQueryParamsFromStruct (params ).
664+ Get ("/query-parameter" )
665+ assertSuccess (t , resp , err )
666+ tests .AssertEqual (t , "key1=value1&key2=value2&key3=value3&key4=client&key5=client&key5=extra" , resp .String ())
667+
668+ // SetQueryParamsFromStruct with slice
669+ type QueryParamsWithSlice struct {
670+ Key1 string `url:"key1"`
671+ Tags []string `url:"tags"`
672+ }
673+ paramsWithSlice := QueryParamsWithSlice {
674+ Key1 : "value1" ,
675+ Tags : []string {"tag1" , "tag2" },
676+ }
677+ resp , err = c .R ().
678+ SetQueryParamsFromStruct (paramsWithSlice ).
679+ Get ("/query-parameter" )
680+ assertSuccess (t , resp , err )
681+ tests .AssertEqual (t , "key1=value1&key2=client&key3=client&key4=client&key5=client&key5=extra&tags=tag1&tags=tag2" , resp .String ())
639682}
640683
641684func TestPathParam (t * testing.T ) {
0 commit comments