@@ -21,20 +21,42 @@ func TestTopicSearch(t *testing.T) {
2121 TopicNames []* api.TopicResponse `json:"topics"`
2222 }
2323
24+ // search all topics
25+ res := MakeRequest (t , NewRequest (t , "GET" , searchURL .String ()), http .StatusOK )
26+ DecodeJSON (t , res , & topics )
27+ assert .Len (t , topics .TopicNames , 6 )
28+ assert .EqualValues (t , "6" , res .Header ().Get ("x-total-count" ))
29+
30+ // pagination search topics
31+ topics .TopicNames = nil
2432 query := url.Values {"page" : []string {"1" }, "limit" : []string {"4" }}
2533
2634 searchURL .RawQuery = query .Encode ()
27- res : = MakeRequest (t , NewRequest (t , "GET" , searchURL .String ()), http .StatusOK )
35+ res = MakeRequest (t , NewRequest (t , "GET" , searchURL .String ()), http .StatusOK )
2836 DecodeJSON (t , res , & topics )
2937 assert .Len (t , topics .TopicNames , 4 )
3038 assert .EqualValues (t , "6" , res .Header ().Get ("x-total-count" ))
3139
40+ // second page
41+ topics .TopicNames = nil
42+ query = url.Values {"page" : []string {"2" }, "limit" : []string {"4" }}
43+
44+ searchURL .RawQuery = query .Encode ()
45+ res = MakeRequest (t , NewRequest (t , "GET" , searchURL .String ()), http .StatusOK )
46+ DecodeJSON (t , res , & topics )
47+ assert .Len (t , topics .TopicNames , 2 )
48+ assert .EqualValues (t , "6" , res .Header ().Get ("x-total-count" ))
49+
50+ // add keyword search
51+ topics .TopicNames = nil
52+ query = url.Values {"page" : []string {"1" }, "limit" : []string {"4" }}
3253 query .Add ("q" , "topic" )
3354 searchURL .RawQuery = query .Encode ()
3455 res = MakeRequest (t , NewRequest (t , "GET" , searchURL .String ()), http .StatusOK )
3556 DecodeJSON (t , res , & topics )
3657 assert .Len (t , topics .TopicNames , 2 )
3758
59+ topics .TopicNames = nil
3860 query .Set ("q" , "database" )
3961 searchURL .RawQuery = query .Encode ()
4062 res = MakeRequest (t , NewRequest (t , "GET" , searchURL .String ()), http .StatusOK )
0 commit comments