Example #1
0
    def test_char_field(self):
        # data type
        c = CharField()
        self.assertRaises(ValidationError, c.validate, 100)
        self.assertEqual(c.validate("你好"), "你好")
        self.assertEqual(c.validate("1234"), "1234")

        # required
        c = CharField(required=True)
        self.assertRaises(ValidationError, c.validate, None)

        c = CharField(required=False)
        self.assertEqual(c.validate("1234567890"), "1234567890")

        # min length
        c = CharField(min_length=4)
        self.assertRaises(ValidationError, c.validate, "123")
        self.assertEqual(c.validate("1234"), "1234")
        self.assertEqual(c.validate("1234"), "1234")

        # max length
        c = CharField(max_length=4)
        self.assertRaises(ValidationError, c.validate, "11111")
        self.assertEqual(c.validate("1234"), "1234")
        self.assertEqual(c.validate("123"), "123")
        self.assertEqual(c.validate(""), "")

        # both max min
        c = CharField(max_length=3, min_length=3)
        self.assertRaises(ValidationError, c.validate, "11")
        self.assertRaises(ValidationError, c.validate, "1111")
        self.assertEqual(c.validate("123"), "123")
Example #2
0
def test_charfield_not_valid(required, nullable, value, ex_mes):
    field = CharField(required, nullable)
    with pytest.raises(ValidationError) as e:
        field.validate(value)
    assert str(e.value) == ex_mes
Example #3
0
def test_charfield_valid(required, nullable, value):
    field = CharField(required, nullable)
    assert not field.validate(value)