from django.core.exceptions import ValidationError from pytest import raises from ..forms import GlobalIDFormField, GlobalIDMultipleChoiceField # 'TXlUeXBlOmFiYw==' -> 'MyType', 'abc' def test_global_id_valid(): field = GlobalIDFormField() field.clean("TXlUeXBlOmFiYw==") def test_global_id_invalid(): field = GlobalIDFormField() with raises(ValidationError): field.clean("badvalue") def test_global_id_multiple_valid(): field = GlobalIDMultipleChoiceField() field.clean(["TXlUeXBlOmFiYw==", "TXlUeXBlOmFiYw=="]) def test_global_id_multiple_invalid(): field = GlobalIDMultipleChoiceField() with raises(ValidationError): field.clean(["badvalue", "another bad avue"]) def test_global_id_none(): field = GlobalIDFormField() with raises(ValidationError): field.clean(None) def test_global_id_none_optional(): field = GlobalIDFormField(required=False) field.clean(None)