Esempio n. 1
0
 def test_it_supports_postfix_style_AND_filter_by(self):
     sut = ObjectSelector(['field1', 'field2', '&'], self.fields)
     result = sut.get_by()
     self.assertQEqual(Q(field1='value1') & Q(field2='value2'), result)
Esempio n. 2
0
 def test_it_supports_postfix_style_NOT_filter_by(self):
     sut = ObjectSelector(['field1', '~'], self.fields)
     result = sut.get_by()
     self.assertQEqual(~Q(field1='value1'), result)
Esempio n. 3
0
 def test_get_by_returns_an_AND_filter_by_default(self):
     sut = ObjectSelector(['field1', 'field2'], self.fields)
     result = sut.get_by()
     self.assertQEqual(Q(field1='value1') & Q(field2='value2'), result)
Esempio n. 4
0
 def test_it_supports_a_single_get_by_field(self):
     sut = ObjectSelector(['field1'], self.fields)
     result = sut.get_by()
     self.assertQEqual(Q(field1='value1'), result)
Esempio n. 5
0
 def test_it_raises_an_error_if_insufficient_operators(self):
     with self.assertRaises(ValueError):
         sut = ObjectSelector(['field1', 'field2', 'field3', '&'], self.fields)
         result = sut.get_by()
Esempio n. 6
0
 def test_it_raises_an_error_if_insufficient_operands_for_NOT(self):
     with self.assertRaises(ValueError):
         sut = ObjectSelector(['~'], self.fields)
         result = sut.get_by()
Esempio n. 7
0
 def test_it_supports_postfix_style_filter_by_options_extended(self):
     sut = ObjectSelector(['field1', 'field2', '&', 'field3', '~', 'field4', '&', '|'], self.fields)
     result = sut.get_by()
     self.assertQEqual((Q(field1='value1') & Q(field2='value2')) |
                           (~Q(field3='value3') & Q(field4='value4')), result)