@@ -140,6 +140,29 @@ def test_datetime_filter_syntax_variations(self):
140140 response = self .client .get ('/caretaker/' , data = {'.last_seen:range' : '2017-03-23T00:00:00Z,2017-03-24' , 'order_by' : 'last_seen' })
141141 self .assertEqual (response .status_code , 418 )
142142
143+ def test_datetime_filter_syntax_variations_with_chained_qualifiers (self ):
144+ # Implicitly we add T23:59:59Z here to make this correct.
145+ response = self .client .get (
146+ '/caretaker/' , data = {'.last_seen:date:gt' : '2017-03-23' , 'order_by' : 'last_seen' })
147+ self .assertEqual (response .status_code , 200 )
148+
149+ result = jsonloads (response .content )
150+ self .assertEqual (1 , len (result ['data' ]))
151+
152+ # Same as above, but to the range start we add T00:00:00Z
153+ response = self .client .get (
154+ '/caretaker/' , data = {'.last_seen:date:range' : '2017-03-23,2017-03-23' , 'order_by' : 'last_seen' })
155+ self .assertEqual (response .status_code , 200 )
156+
157+ result = jsonloads (response .content )
158+ self .assertEqual (1 , len (result ['data' ]))
159+
160+ # Just a sanity check
161+ response = self .client .get ('/caretaker/' , data = {'.last_seen:date:range' : '2017-03-23,2017-03-24' , 'order_by' : 'last_seen' })
162+ self .assertEqual (response .status_code , 200 )
163+
164+ result = jsonloads (response .content )
165+ self .assertEqual (2 , len (result ['data' ]))
143166
144167 def test_datetime_filter_syntax_errors_cause_error_response (self ):
145168 response = self .client .get ('/caretaker/' , data = {'.last_seen' : '1838-05' })
0 commit comments