@@ -90,17 +90,64 @@ class SearchQualifierHelperTest < ActionView::TestCase
9090 end
9191
9292 test 'parse_category_qualifier should correctly parse category:' do
93+ [ '=' , '>' , '<' , '<=' ] . each do |operator |
94+ categories . map do |cat |
95+ [ operator == '=' ? cat . id . to_s : "#{ operator } #{ cat . id } " , operator , cat . id ]
96+ end . each do |entry |
97+ value , expected_op , expected_val = entry
98+
99+ parsed = parse_category_qualifier ( value )
100+ assert_equal :category , parsed [ :param ]
101+ assert_equal expected_op , parsed [ :operator ]
102+ assert_equal expected_val , parsed [ :category_id ]
103+ end
104+ end
105+ end
106+
107+ test 'parse_post_type_qualifier should correctly parse post_type:' do
108+ [ '=' , '>' , '<' , '<=' ] . each do |operator |
109+ post_types . map do |type |
110+ [ operator == '=' ? type . id . to_s : "#{ operator } #{ type . id } " , operator , type . id ]
111+ end . each do |entry |
112+ value , expected_op , expected_val = entry
113+
114+ parsed = parse_post_type_qualifier ( value )
115+ assert_equal :post_type , parsed [ :param ]
116+ assert_equal expected_op , parsed [ :operator ]
117+ assert_equal expected_val , parsed [ :post_type_id ]
118+ end
119+ end
120+ end
121+
122+ test 'parse_downvotes_qualifier should correctly parse downvotes:' do
93123 [
94- [ '10' , '=' , 10 ] ,
95- [ '>2' , '>' , 2 ] ,
96- [ '<=5' , '<=' , 5 ]
124+ [ '42' , '=' , 42 ] ,
125+ [ '>5' , '>' , 5 ] ,
126+ [ '<=1' , '<=' , 1 ] ,
127+ [ '<3' , '<' , 3 ]
97128 ] . each do |entry |
98129 value , expected_op , expected_val = entry
99130
100- parsed = parse_category_qualifier ( value )
101- assert_equal :category , parsed [ :param ]
131+ parsed = parse_downvotes_qualifier ( value )
132+ assert_equal :downvotes , parsed [ :param ]
102133 assert_equal expected_op , parsed [ :operator ]
103- assert_equal expected_val , parsed [ :category_id ]
134+ assert_equal expected_val , parsed [ :value ]
135+ end
136+ end
137+
138+ test 'parse_upvotes_qualifier should correctly parse upvotes:' do
139+ [
140+ [ '42' , '=' , 42 ] ,
141+ [ '>5' , '>' , 5 ] ,
142+ [ '<=1' , '<=' , 1 ] ,
143+ [ '<3' , '<' , 3 ]
144+ ] . each do |entry |
145+ value , expected_op , expected_val = entry
146+
147+ parsed = parse_upvotes_qualifier ( value )
148+ assert_equal :upvotes , parsed [ :param ]
149+ assert_equal expected_op , parsed [ :operator ]
150+ assert_equal expected_val , parsed [ :value ]
104151 end
105152 end
106153
0 commit comments