@@ -21,20 +21,42 @@ func TestTopicSearch(t *testing.T) {
21
21
TopicNames []* api.TopicResponse `json:"topics"`
22
22
}
23
23
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
24
32
query := url.Values {"page" : []string {"1" }, "limit" : []string {"4" }}
25
33
26
34
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 )
28
36
DecodeJSON (t , res , & topics )
29
37
assert .Len (t , topics .TopicNames , 4 )
30
38
assert .EqualValues (t , "6" , res .Header ().Get ("x-total-count" ))
31
39
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" }}
32
53
query .Add ("q" , "topic" )
33
54
searchURL .RawQuery = query .Encode ()
34
55
res = MakeRequest (t , NewRequest (t , "GET" , searchURL .String ()), http .StatusOK )
35
56
DecodeJSON (t , res , & topics )
36
57
assert .Len (t , topics .TopicNames , 2 )
37
58
59
+ topics .TopicNames = nil
38
60
query .Set ("q" , "database" )
39
61
searchURL .RawQuery = query .Encode ()
40
62
res = MakeRequest (t , NewRequest (t , "GET" , searchURL .String ()), http .StatusOK )
0 commit comments