Skip to content

Commit

Permalink
🗑️ [#3283] Make FormDefinitionSerializer.name read only
Browse files Browse the repository at this point in the history
the name is set via translations
  • Loading branch information
stevenbal committed Nov 18, 2024
1 parent 51f9713 commit 35c4c20
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 7 deletions.
3 changes: 1 addition & 2 deletions src/openforms/forms/api/serializers/form_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,7 @@ class Meta:
"view_name": "api:formdefinition-detail",
"lookup_field": "uuid",
},
# TODO: enable this in v3, deprecate writing this field
# "name": {"read_only": True}, # writing is done via the `translations` field
"name": {"read_only": True}, # writing is done via the `translations` field
"slug": {
"required": False,
},
Expand Down
4 changes: 4 additions & 0 deletions src/openforms/forms/tests/admin/test_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,10 @@ def test_form_admin_import_feedback_messages(self):
}
]
},
"translations": {
"en": {"name": "testform"},
"nl": {"name": "testformulier"},
},
}
]
).encode("utf-8")
Expand Down
6 changes: 5 additions & 1 deletion src/openforms/forms/tests/exports/formDefinitions.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
"internal_name": "Test Definition Internal 1",
"slug": "test-definition-1",
"url": "http://testserver/api/v2/form-definitions/f0dad93b-333b-49af-868b-a6bcb94fa1b8",
"uuid": "f0dad93b-333b-49af-868b-a6bcb94fa1b8"
"uuid": "f0dad93b-333b-49af-868b-a6bcb94fa1b8",
"translations": {
"en": {"name": "Test Definition 1"},
"nl": {"name": "Test Definitie 1"}
}
}
]
5 changes: 4 additions & 1 deletion src/openforms/forms/tests/test_api_form_versions.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import datetime

from django.urls import reverse
from django.utils import translation

from freezegun import freeze_time
from rest_framework import status
Expand Down Expand Up @@ -191,7 +192,9 @@ def test_restore_version(self):
form_step = form_steps.get()
restored_form_definition = form_step.form_definition

self.assertEqual("Test Definition 1", restored_form_definition.name)
with translation.override("en"):
self.assertEqual("Test Definition 1", restored_form_definition.name)
self.assertEqual("Test Definitie 1", restored_form_definition.name_nl)
self.assertEqual(
"Test Definition Internal 1", restored_form_definition.internal_name
)
Expand Down
14 changes: 12 additions & 2 deletions src/openforms/forms/tests/test_api_formdefinition.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,14 +156,19 @@ def test_update(self):
],
},
"login_required": True,
"translations": {
"en": {"name": "Updated name"},
"nl": {"name": "Bijgewerkte naam"},
},
},
)

self.assertEqual(response.status_code, status.HTTP_200_OK)

definition.refresh_from_db()

self.assertEqual("Updated name", definition.name)
self.assertEqual("Bijgewerkte naam", definition.name)
self.assertEqual("Updated name", definition.name_en)
self.assertEqual("updated-slug", definition.slug)
self.assertEqual(True, definition.login_required)
self.assertIn(
Expand Down Expand Up @@ -217,14 +222,19 @@ def test_create(self):
}
],
},
"translations": {
"en": {"name": "Name"},
"nl": {"name": "Naam"},
},
},
)

self.assertEqual(status.HTTP_201_CREATED, response.status_code)

definition = FormDefinition.objects.get()

self.assertEqual("Name", definition.name)
self.assertEqual("Naam", definition.name)
self.assertEqual("Name", definition.name_en)
self.assertEqual("a-slug", definition.slug)
self.assertEqual(
[
Expand Down
5 changes: 4 additions & 1 deletion src/openforms/forms/tests/test_restore_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import json

from django.test import TestCase
from django.utils import translation
from django.utils.translation import gettext as _

from freezegun import freeze_time
Expand Down Expand Up @@ -63,7 +64,9 @@ def test_restoring_version(self):

restored_form_definition = form_steps.get().form_definition

self.assertEqual("Test Definition 1", restored_form_definition.name)
with translation.override("en"):
self.assertEqual("Test Definition 1", restored_form_definition.name)
self.assertEqual("Test Definitie 1", restored_form_definition.name_nl)
self.assertEqual(
"Test Definition Internal 1", restored_form_definition.internal_name
)
Expand Down

0 comments on commit 35c4c20

Please sign in to comment.