Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
domdinicola committed Jul 15, 2024
1 parent 1a3ef94 commit 7870652
Show file tree
Hide file tree
Showing 6 changed files with 232 additions and 89 deletions.
254 changes: 191 additions & 63 deletions pdm.lock

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ dependencies = [
"django-adminactions>=2.3.0",
"duckdb>=1.0.0",
"python-calamine>=0.2.0",
"django>=5.0.7",
]
requires-python = ">=3.11"
readme = "README.md"
Expand Down Expand Up @@ -63,11 +64,12 @@ distribution = true

[tool.pdm.dev-dependencies]
dev = [
"django>=3,<4",
"django>=3",
"pytest>=8.2.2",
"django-factory-boy>=1.0.0",
"black>=24.4.2",
"flake8>=7.1.0",
"flake8-html>=0.4.3",
"isort>=5.13.2",
"pre-commit>=3.7.1",
"freezegun>=1.5.1",
Expand All @@ -79,6 +81,7 @@ dev = [
"responses>=0.25.3",
"django-csp>=3.8",
"bandit>=1.7.9",
"tox>=4.16.0",
]

[tool.pdm.scripts]
Expand Down
32 changes: 19 additions & 13 deletions tests/admin/test_admin_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,10 @@ def test_field_test(app, record):
def test_fields_create(app, record):
url = reverse("admin:hope_flex_fields_fielddefinition_add")
res = app.get(url)
res.form["name"] = "int"
res.form["field_type"] = fqn(forms.ChoiceField)
res = res.form.submit()
form = res.forms["fielddefinition_form"]
form["name"] = "int"
form["field_type"] = fqn(forms.ChoiceField)
res = form.submit()
assert res.status_code == 302
obj: FieldDefinition = FieldDefinition.objects.get(name="int")
assert obj.attrs == {
Expand All @@ -55,32 +56,37 @@ def test_fields_create(app, record):
def test_fields_create_and_update(app, record):
url = reverse("admin:hope_flex_fields_fielddefinition_add")
res = app.get(url)
res.form["name"] = "Int"
res.form["field_type"] = fqn(forms.IntegerField)
res = res.form.submit("_continue").follow()
assert res.form["attrs"].value == (
'{"max_value": null, "min_value": null, ' '"required": false, "help_text": ""}'
form = res.forms["fielddefinition_form"]
form["name"] = "Int"
form["field_type"] = fqn(forms.IntegerField)
res = form.submit("_continue").follow()
form = res.forms["fielddefinition_form"]
assert form["attrs"].value == (
'{"max_value": null, "min_value": null, "step_size": null, '
'"required": false, "help_text": ""}'
)
res.form["attrs"] = (
form["attrs"] = (
'{"max_value": 1, "min_value": 10, ' '"required": false, "help_text": ""}'
)
res.form.submit("_continue").follow()
form.submit("_continue").follow()

obj: FieldDefinition = FieldDefinition.objects.get(name="Int")
assert obj.attrs == {
"max_value": 1,
"min_value": 10,
"required": False,
"help_text": "",
"step_size": None,
}


def test_fields_change_type(app, record):
url = reverse("admin:hope_flex_fields_fielddefinition_change", args=[record.pk])
res = app.get(url)
res.form["name"] = "Char"
res.form["field_type"] = fqn(forms.CharField)
res = res.form.submit("_continue")
form = res.forms["fielddefinition_form"]
form["name"] = "Char"
form["field_type"] = fqn(forms.CharField)
res = form.submit("_continue")
assert res.status_code == 302, res.showbrowser()
obj: FieldDefinition = FieldDefinition.objects.get(name="Char")
assert obj.attrs == {
Expand Down
25 changes: 14 additions & 11 deletions tests/admin/test_admin_flexfield.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,11 @@ def test_fields_create(app):
fs = FieldsetFactory()
url = reverse("admin:hope_flex_fields_flexfield_add")
res = app.get(url)
res.form["name"] = "int"
res.form["field"] = fd.pk
res.form["fieldset"] = fs.pk
res = res.form.submit()
form = res.forms[1]
form["name"] = "int"
form["field"] = fd.pk
form["fieldset"] = fs.pk
res = form.submit()
assert res.status_code == 302
obj: FlexField = FlexField.objects.get(name="int")
assert obj.attrs == "{}"
Expand All @@ -61,19 +62,21 @@ def test_fields_create_and_update(app, record):

url = reverse("admin:hope_flex_fields_flexfield_add")
res = app.get(url)
res.form["name"] = "int2"
res.form["field"] = fd.pk
res.form["fieldset"] = fs.pk
form = res.forms[1]
form["name"] = "int2"
form["field"] = fd.pk
form["fieldset"] = fs.pk

res = res.form.submit("_continue")
res = form.submit("_continue")
assert res.status_code == 302, res.context["adminform"].form.errors
res = res.follow()
assert res.form["attrs"].value == '"{}"'
form = res.forms[1]
assert form["attrs"].value == '"{}"'

res.form["attrs"] = (
form["attrs"] = (
'{"max_value": 1, "min_value": 10, "required": false, "help_text": ""}'
)
res = res.form.submit("_continue")
res = form.submit("_continue")
assert res.status_code == 302, res.context["adminform"].form.errors

obj: FlexField = FlexField.objects.get(name="int2")
Expand Down
1 change: 1 addition & 0 deletions tests/models/test_model_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ def test_validate_attributes(db):
"max_value": None,
"min_value": None,
"required": False,
"step_size": None,
}


Expand Down
4 changes: 3 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = d{50}
envlist = d{32,42,50}
envtmpdir={toxinidir}/build/{envname}/tmp
envlogdir={toxinidir}/build/{envname}/log

Expand All @@ -21,6 +21,8 @@ setenv =
extras =
test
deps =
d32: django==3.2.*
d42: django==4.2.*
d50: django==5.0.*

allowlist_externals =
Expand Down

0 comments on commit 7870652

Please sign in to comment.