|
5 | 5 | from django.urls import reverse
|
6 | 6 |
|
7 | 7 | from django_webtest import WebTest
|
| 8 | +from maykin_2fa.test import disable_admin_mfa |
8 | 9 | from webtest import Form, TestResponse
|
9 | 10 |
|
10 | 11 | from openklant.accounts.tests.factories import SuperUserFactory
|
| 12 | +from openklant.components.klantinteracties.models import DigitaalAdres |
11 | 13 | from openklant.components.klantinteracties.models.tests.factories.digitaal_adres import (
|
12 | 14 | DigitaalAdresFactory,
|
13 | 15 | )
|
14 | 16 | from openklant.components.klantinteracties.models.tests.factories.partijen import (
|
| 17 | + PartijFactory, |
15 | 18 | PersoonFactory,
|
16 | 19 | )
|
| 20 | +from openklant.utils.tests.webtest import add_dynamic_field |
17 | 21 |
|
18 | 22 |
|
19 | 23 | class PartijAdminTests(WebTest):
|
@@ -90,3 +94,35 @@ def test_search(self):
|
90 | 94 | self.assertContains(search_response, digitaal_adres_persoon.get_full_name())
|
91 | 95 | self.assertNotContains(search_response, nummer_persoon.get_full_name())
|
92 | 96 | self.assertNotContains(search_response, uuid_persoon.get_full_name())
|
| 97 | + |
| 98 | + @disable_admin_mfa() |
| 99 | + def test_digitaal_adres_inline(self): |
| 100 | + """ |
| 101 | + Regression test for #226 |
| 102 | +
|
| 103 | + betrokkene should be optional |
| 104 | + """ |
| 105 | + |
| 106 | + SuperUserFactory(username="admin", password="admin") |
| 107 | + self._login_user(username="admin", password="admin") |
| 108 | + |
| 109 | + partij = PartijFactory(soort_partij="persoon", voorkeurs_digitaal_adres=None) |
| 110 | + PersoonFactory(partij=partij) |
| 111 | + url = reverse("admin:klantinteracties_partij_change", args=[partij.pk]) |
| 112 | + |
| 113 | + response = self.app.get(url) |
| 114 | + |
| 115 | + form = response.form |
| 116 | + form["digitaaladres_set-TOTAL_FORMS"] = 1 |
| 117 | + add_dynamic_field(form, "digitaaladres_set-0-omschrijving", "description") |
| 118 | + add_dynamic_field(form, "digitaaladres_set-0-soort_digitaal_adres", "email") |
| 119 | + add_dynamic_field(form, "digitaaladres_set-0-adres", "email@example.com") |
| 120 | + |
| 121 | + response = form.submit() |
| 122 | + self.assertEqual(response.status_code, 302) |
| 123 | + |
| 124 | + adres = DigitaalAdres.objects.get() |
| 125 | + |
| 126 | + self.assertEqual(adres.omschrijving, "description") |
| 127 | + self.assertEqual(adres.adres, "email@example.com") |
| 128 | + self.assertIsNone(adres.betrokkene) |
0 commit comments