def test_generate_form_to_string():
    form = generate_form(OrderedDict([
        ('z', '<b>lol</b>'),
        ('c', 'lol'),
        ('a', 2),
        ('e', Decimal('1.0')),
        ('f', datetime(2015, 10, 10, 10, 10, 10)),
    ]))
    assert "\n".join(formstring_from_formclass(form())) == """class ZCAEFForm(forms.Form):
def test_defaults_mapped_over_db_values():
    test_value = {'testing': 1, 'count': 2}
    # this emulates an old value whose defaults have since been updated.
    RuntimeSetting.objects.create(key="TESTX", raw_value=json.dumps(test_value))
    test_value.update(another=1.2)
    form_class = generate_form(test_value)
    registry.register('TESTX', form_class, {'another': 4.2})
    wrapper = RuntimeSettingWrapper()
    value = wrapper.TESTX
    registry.unregister('TESTX')
    assert value == {'count': 2, 'testing': 1, 'another': 4.2}
def test_generate_form_duration_field():
    data = {
        'timedelta': timedelta(days=2),
    }
    form_class = generate_form(data)
    validate_data = {
        'timedelta': '1',
    }
    form = form_class(data=validate_data)
    valid = form.is_valid()
    assert form.errors == {}
    assert form.cleaned_data == {
        'timedelta': timedelta(0, 1),
    }
    assert valid is True
Esempio n. 4
0
def validate_as_dict(key, value):
    """
    Returns `True` if it's a dict we can generate a form for,
    `False` if it's not, or an Error instance comes out of the form.
    """
    try:
        validate_default(value)
        form = generate_form(value)
    except ValidationError:
        return None
    try:
        validate_formish(form)
        return form
    except ValidationError:
        return None  # E007(obj=key)
def test_generate_form_mediastorage_becomes_staticfileschoicefield():
    form = generate_form({'field': settings.DEFAULT_FILE_STORAGE})()
    assert isinstance(form.fields['field'], DefaultStorageFilesChoiceField) is True
def test_generate_form_float_becomes_floatfield():
    form = generate_form({'field': 1.5})()
    assert isinstance(form.fields['field'], fields.FloatField) is True
def test_generate_form_without_sorting():
    form = generate_form(OrderedDict([
        ('z',1),
        ('a', 2),
    ]))
    assert tuple(form.base_fields.keys()) == ('z', 'a')
def test_generate_form_timeish_string_becomes_timefield():
    form = generate_form({'field': '01:01:01'})()
    assert isinstance(form.fields['field'], fields.TimeField) is True
def test_generate_form_slugish_string_has_invalid_slug_chars_slugfield2():
    form = generate_form({'field': 'a-b '})()
    assert isinstance(form.fields['field'], fields.SlugField) is False
    assert isinstance(form.fields['field'], fields.CharField) is True
Esempio n. 10
0
def test_generate_form_queryset_becomes_modelmultiplechoicefield():
    form = generate_form({'field': get_user_model().objects.all()})()
    assert isinstance(form.fields['field'], ModelMultipleChoiceField) is True
Esempio n. 11
0
def test_generate_form_decimalish_string_becomes_decimalfield():
    form = generate_form({'field': '1.0'})()
    assert isinstance(form.fields['field'], fields.DecimalField) is True
Esempio n. 12
0
def test_generate_form_set_becomes_choicefield():
    form = generate_form({'field': {'a', 'b', 'c'}})()
    assert isinstance(form.fields['field'], fields.ChoiceField) is True
Esempio n. 13
0
def test_generate_form_model_becomes_modelchoicefield():
    form = generate_form({'field': get_user_model()(pk=1)})()
    assert isinstance(form.fields['field'], ModelChoiceField) is True
Esempio n. 14
0
def test_generate_form_ordereddict_becomes_choicefield():
    form = generate_form({'field': OrderedDict([
        ['1', '2'],
        ['2', '4'],
    ])})()
    assert isinstance(form.fields['field'], fields.ChoiceField) is True
Esempio n. 15
0
def test_generate_form_tuple_becomes_multiplechoicefield():
    form = generate_form({'field': ('a', 'b')})()
    assert isinstance(form.fields['field'], fields.MultipleChoiceField) is True
Esempio n. 16
0
def test_generate_form_bool_becomes_booleanfield():
    form = generate_form({'field': True})()
    assert isinstance(form.fields['field'], fields.BooleanField) is True
Esempio n. 17
0
def test_generate_form_mediaurl_startswith_becomes_staticfileschoicefield():
    form = generate_form({'field': '%s/test' % settings.MEDIA_URL})()
    assert isinstance(form.fields['field'], PartialDefaultStorageFilesChoiceField) is True
Esempio n. 18
0
def test_generate_form_regex_becomes_regexfield():
    form = generate_form({'field': re.compile('')})()
    assert isinstance(form.fields['field'], fields.RegexField) is True
Esempio n. 19
0
def test_generate_form_slugish_string_becomes_slugfield():
    form = generate_form({'field': 'a-b'})()
    assert isinstance(form.fields['field'], fields.SlugField) is True
Esempio n. 20
0
def test_generate_form_ipish_string_becomes_genericipfield():
    form = generate_form({'field': '127.0.0.1'})()
    assert isinstance(form.fields['field'], fields.GenericIPAddressField) is True
Esempio n. 21
0
def test_generate_form_dateish_string_becomes_datefield():
    form = generate_form({'field': '01/01/2016'})()
    assert isinstance(form.fields['field'], fields.DateField) is True
Esempio n. 22
0
def test_generate_form_urlish_string_becomes_urlfield():
    form = generate_form({'field': 'https://news.bbc.co.uk/'})()
    assert isinstance(form.fields['field'], fields.URLField) is True
Esempio n. 23
0
def test_generate_form_intish_string_becomes_integerfield():
    form = generate_form({'field': '1'})()
    assert isinstance(form.fields['field'], fields.IntegerField) is True
Esempio n. 24
0
def test_generate_form_emailish_string_becomes_emailfield():
    form = generate_form({'field': '*****@*****.**'})()
    assert isinstance(form.fields['field'], fields.EmailField) is True
Esempio n. 25
0
def test_generate_form_with_sorting():
    form = generate_form({'z':1, 'a': 2})
    assert tuple(form.base_fields.keys()) == ('a', 'z')
Esempio n. 26
0
def test_generate_form_none_becomes_nullbooleanfield():
    form = generate_form({'field': None})()
    assert isinstance(form.fields['field'], fields.NullBooleanField)
Esempio n. 27
0
def test_generate_form_date_becomes_datefield():
    form = generate_form({'field': datetime.now().date()})()
    assert isinstance(form.fields['field'], fields.DateField) is True
Esempio n. 28
0
def test_generate_form_staticurl_startswith_becomes_staticfileschoicefield():
    form = generate_form({'field': '%s/test' % settings.STATIC_URL})()
    assert isinstance(form.fields['field'], PartialStaticFilesChoiceField) is True
Esempio n. 29
0
def test_generate_form_staticstorage_becomes_staticfileschoicefield():
    form = generate_form({'field': settings.STATICFILES_STORAGE})()
    assert isinstance(form.fields['field'], StaticFilesChoiceField) is True
Esempio n. 30
0
def test_generate_form_time_becomes_timefield():
    form = generate_form({'field': time(4, 23)})()
    assert isinstance(form.fields['field'], fields.TimeField) is True