Ejemplo n.º 1
0
 def setUp(self):
     self.field = ChoiceField(
         '', choices={
             "alpha": '-a',
             "beta": '-b',
             "gamma": '-g'
         }
     )
Ejemplo n.º 2
0
 def test_not_required(self):
     field = ChoiceField(
         '',
         required=False,
         choices={'a': '-a', 'b': '-b'}
     )
     self.assertIsNone(field.cleaned_value)
Ejemplo n.º 3
0
def test_numerical_choices():
    field = ChoiceField('name', choices=[(1, -5), (0.33, 3.1415)])
    assert field.validate(1) == 1
    assert field.validate(0.33) == 0.33
    assert field.validate(3.1415)
    with pytest.raises(ValidationError):
        field.validate(0.34)
Ejemplo n.º 4
0
def test_text_choices():
    field = ChoiceField('name', choices=CHOICES)
    assert field.validate('BAZ') == 'BAZ'
    assert field.validate('foo') == 'foo'
    assert field.validate('bar') == 'bar'
    with pytest.raises(ValidationError):
        field.validate('quz')
Ejemplo n.º 5
0
class TestSelectField(unittest.TestCase):
    def setUp(self):
        self.field = ChoiceField(
            '', choices={
                "alpha": '-a',
                "beta": '-b',
                "gamma": '-g'
            }
        )

    def test_is_valid(self):
        self.field.value = "alpha"
        self.assertTrue(self.field.is_valid)
        self.field.value = "beta"
        self.assertTrue(self.field.is_valid)
        self.field.value = "gamma"
        self.assertTrue(self.field.is_valid)
        self.field.value = "delta"
        self.assertFalse(self.field.is_valid)

    def test_required(self):
        with self.assertRaises(ValidationError) as cm:
            self.field.validate(None)
        self.assertEqual(cm.exception.code, 'required')

    def test_not_required(self):
        field = ChoiceField(
            '',
            required=False,
            choices={'a': '-a', 'b': '-b'}
        )
        self.assertIsNone(field.cleaned_value)

    def test_cleaned_data(self):
        self.field.value = "gamma"
        self.assertEqual(self.field.cleaned_value, "-g")
Ejemplo n.º 6
0
def test_validate_empty_with_default():
    field = ChoiceField('name', choices=CHOICES, default='FOO')
    assert field.validate(()) == 'FOO'
    assert field.validate([]) == 'FOO'
Ejemplo n.º 7
0
def test_validate_none_with_default():
    field = ChoiceField('name', choices=CHOICES, default='foo')
    assert field.validate(None) == 'foo'
Ejemplo n.º 8
0
def test_validate_empty_not_required():
    field = ChoiceField(ValidationError, required=False)
    assert field.validate(None) is None
Ejemplo n.º 9
0
def default_field():
    return ChoiceField('name', choices=CHOICES)
Ejemplo n.º 10
0
def test_validate_empty_required():
    field = ChoiceField('name', required=True)
    with pytest.raises(ValidationError):
        field.validate(None)
Ejemplo n.º 11
0
def test_invalid_default():
    with pytest.raises(Exception):
        ChoiceField('name', choices=CHOICES, default='qux')
Ejemplo n.º 12
0
def test_serialize_multiple():
    field = ChoiceField('name', choices=CHOICES, multiple=True)
    assert field.serialize_value(['foo', 'BAR',
                                  'baz']) == ['FOO', 'BAR', 'BAZ']
Ejemplo n.º 13
0
def test_to_cmd_parameter():
    field = ChoiceField('name', choices=CHOICES)
    assert field.to_cmd_parameter('foo') == 'FOO'
    assert field.to_cmd_parameter('BAZ') == 'BAZ'
    assert field.to_cmd_parameter('missing') == 'missing'
Ejemplo n.º 14
0
def test_multiple_valid_values():
    field = ChoiceField('name', choices=CHOICES, multiple=True)
    assert field.validate(['foo', 'BAR']) == ['foo', 'BAR']
Ejemplo n.º 15
0
def test_invalid_value_with_default():
    field = ChoiceField('name', choices=CHOICES, default='bar')
    with pytest.raises(ValidationError):
        field.validate('QUX')
Ejemplo n.º 16
0
def test_valid_value_with_default():
    field = ChoiceField('name', choices=CHOICES, default='bar')
    assert field.validate('foo') == 'foo'
    assert field.validate('bar') == 'bar'