|
17 | 17 |
|
18 | 18 | from open_inwoner.accounts.tests.factories import UserFactory |
19 | 19 | from open_inwoner.openzaak.api_models import ResultaatType |
| 20 | +from open_inwoner.openzaak.models import OpenZaakConfig |
20 | 21 |
|
21 | 22 | from .factories import ( |
22 | 23 | CatalogusConfigFactory, |
@@ -408,3 +409,33 @@ def test_import_view_requires_change_permission(self): |
408 | 409 | ) |
409 | 410 |
|
410 | 411 | self.assertEqual(response.status_code, 403) |
| 412 | + |
| 413 | + |
| 414 | +@disable_admin_mfa() |
| 415 | +class TestOpenZaakConfigAdmin(WebTest): |
| 416 | + def setUp(self): |
| 417 | + self.user = UserFactory(is_superuser=True, is_staff=True) |
| 418 | + self.form = self.app.get( |
| 419 | + reverse("admin:openzaak_openzaakconfig_change"), user=self.user |
| 420 | + ).forms["openzaakconfig_form"] |
| 421 | + # django-jsonform requires JS to work properly and with Webtest the default |
| 422 | + # value for ArrayFields is an empty string, causing it to crash when trying to |
| 423 | + # parse that value as JSON |
| 424 | + self.form["allowed_file_extensions"] = json.dumps( |
| 425 | + OpenZaakConfig.get_solo().allowed_file_extensions |
| 426 | + ) |
| 427 | + |
| 428 | + def test_document_visible_statuses_can_be_saved_as_empty_list(self): |
| 429 | + """An empty `document_visible_statuses` is valid and means all statuses |
| 430 | + are visible (see `test_utils.test_is_info_object_visible_custom_statuses`), |
| 431 | + so the admin form must allow saving it as such.""" |
| 432 | + config = OpenZaakConfig.get_solo() |
| 433 | + self.assertNotEqual(config.document_visible_statuses, []) |
| 434 | + |
| 435 | + self.form["document_visible_statuses"] = "[]" |
| 436 | + response = self.form.submit() |
| 437 | + |
| 438 | + self.assertEqual(response.status_code, 302) |
| 439 | + |
| 440 | + config.refresh_from_db() |
| 441 | + self.assertEqual(config.document_visible_statuses, []) |
0 commit comments