def test_validate_blank(self): item = SelectMultipleField(choices=self.choices) item.editable = True item.blank = True value = [''] instance = "Fake Unused Instance" self.assertIs(item.validate(value, instance), None)
def test_validate_valid_choices(self): for choices in self.test_choices: item = SelectMultipleField(choices=choices[0]) item.editable = True instance = "Fake Unused Instance" for i, v in enumerate(choices[1]): subset = self.choices_list[0: i + 1] self.assertIs(item.validate(subset, instance), None)
def test_validate_not_blank(self): item = SelectMultipleField(choices=self.choices) item.editable = True item.blank = False value = [] instance = "Fake Unused Instance" with self.assertRaises(ValidationError) as cm: self.assertTrue(item.validate(value, instance)) self.assertEqual(cm.exception.messages[0], SelectMultipleField.default_error_messages['blank'])
def test_validate_invalid_string(self): item = SelectMultipleField(choices=self.choices) item.editable = True value = "Invalid Choice" instance = "Fake Unused Instance" with self.assertRaises(ValidationError) as cm: self.assertTrue(item.validate(value, instance)) self.assertEqual( cm.exception.messages[0], SelectMultipleField. default_error_messages['invalid_choice'].format(value))
def test_validate_not_blank(self): item = SelectMultipleField(choices=self.choices) item.editable = True item.blank = False value = [] instance = "Fake Unused Instance" with self.assertRaises(ValidationError) as cm: self.assertTrue(item.validate(value, instance)) self.assertEqual( cm.exception.messages[0], SelectMultipleField.default_error_messages['blank'] )
def test_validate_invalid_string(self): item = SelectMultipleField(choices=self.choices) item.editable = True value = "Invalid Choice" instance = "Fake Unused Instance" with self.assertRaises(ValidationError) as cm: self.assertTrue(item.validate(value, instance)) self.assertEqual( cm.exception.messages[0], (SelectMultipleField.default_error_messages['invalid_choice'] % {'value': value}) )
def test_validate_not_editable(self): item = SelectMultipleField() item.editable = False value = "Any Value" instance = "Fake Unused Instance" self.assertIs(item.validate(value, instance), None)