Exemple #1
0
 def test_integer_required(self):
     field = pg_forms.IntegerRangeField(required=True)
     with self.assertRaises(exceptions.ValidationError) as cm:
         field.clean(['', ''])
     self.assertEqual(cm.exception.messages[0], 'This field is required.')
     value = field.clean([1, ''])
     self.assertEqual(value, NumericRange(1, None))
Exemple #2
0
 def test_integer_lower_bound_higher(self):
     field = pg_forms.IntegerRangeField()
     with self.assertRaises(exceptions.ValidationError) as cm:
         field.clean(['10', '2'])
     self.assertEqual(
         cm.exception.messages[0],
         'The start of the range must not exceed the end of the range.')
     self.assertEqual(cm.exception.code, 'bound_ordering')
Exemple #3
0
 def test_has_changed(self):
     for field, value in (
         (pg_forms.DateRangeField(), ['2010-01-01', '2020-12-12']),
         (pg_forms.DateTimeRangeField(), ['2010-01-01 11:13', '2020-12-12 14:52']),
         (pg_forms.IntegerRangeField(), [1, 2]),
         (pg_forms.DecimalRangeField(), ['1.12345', '2.001']),
     ):
         with self.subTest(field=field.__class__.__name__):
             self.assertTrue(field.has_changed(None, value))
             self.assertTrue(field.has_changed([value[0], ''], value))
             self.assertTrue(field.has_changed(['', value[1]], value))
             self.assertFalse(field.has_changed(value, value))
Exemple #4
0
 def test_has_changed(self):
     for field, value in (
         (pg_forms.DateRangeField(), ["2010-01-01", "2020-12-12"]),
         (pg_forms.DateTimeRangeField(),
          ["2010-01-01 11:13", "2020-12-12 14:52"]),
         (pg_forms.IntegerRangeField(), [1, 2]),
         (pg_forms.DecimalRangeField(), ["1.12345", "2.001"]),
     ):
         with self.subTest(field=field.__class__.__name__):
             self.assertTrue(field.has_changed(None, value))
             self.assertTrue(field.has_changed([value[0], ""], value))
             self.assertTrue(field.has_changed(["", value[1]], value))
             self.assertFalse(field.has_changed(value, value))
Exemple #5
0
 def test_integer_invalid_upper(self):
     field = pg_forms.IntegerRangeField()
     with self.assertRaises(exceptions.ValidationError) as cm:
         field.clean(['1', 'b'])
     self.assertEqual(cm.exception.messages[0], 'Enter a whole number.')
Exemple #6
0
 def test_integer_incorrect_data_type(self):
     field = pg_forms.IntegerRangeField()
     with self.assertRaises(exceptions.ValidationError) as cm:
         field.clean('1')
     self.assertEqual(cm.exception.messages[0], 'Enter two whole numbers.')
     self.assertEqual(cm.exception.code, 'invalid')
Exemple #7
0
 def test_integer_open(self):
     field = pg_forms.IntegerRangeField()
     value = field.clean(['', '0'])
     self.assertEqual(value, NumericRange(None, 0))
Exemple #8
0
 class RangeForm(forms.Form):
     ints = pg_forms.IntegerRangeField()
Exemple #9
0
 def test_none(self):
     field = pg_forms.IntegerRangeField(required=False)
     value = field.clean(['', ''])
     self.assertEqual(value, None)
Exemple #10
0
 def test_valid_integer(self):
     field = pg_forms.IntegerRangeField()
     value = field.clean(['1', '2'])
     self.assertEqual(value, NumericRange(1, 2))
Exemple #11
0
 def test_none(self):
     field = pg_forms.IntegerRangeField(required=False)
     value = field.clean(["", ""])
     self.assertIsNone(value)