Skip to content

Commit

Permalink
🐛[#227] fix partijIdentificatie crashing when not provided
Browse files Browse the repository at this point in the history
  • Loading branch information
Coperh committed Nov 1, 2024
1 parent 125bd2c commit 205c4eb
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -720,7 +720,7 @@ def update(self, instance, validated_data):

@transaction.atomic
def create(self, validated_data):
partij_identificatie = validated_data.pop("partij_identificatie")
partij_identificatie = validated_data.pop("partij_identificatie", None)
digitale_adressen = validated_data.pop("digitaaladres_set")
rekeningnummers = validated_data.pop("rekeningnummer_set")

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import datetime

from django.utils.translation import gettext as _

from rest_framework import status
from vng_api_common.tests import reverse

Expand Down Expand Up @@ -307,6 +309,71 @@ def test_create_partij(self):
],
)

def test_create_partij_only_required(self):
"""
Test if object is created with only required parameters
Regression Test for #227
"""
list_url = reverse("klantinteracties:partij-list")

response = self.client.post(list_url, {})
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)

response_data = response.json()
self.assertEqual(response_data["title"], "Invalid input.")
self.assertEqual(response_data["code"], "invalid")
self.assertEqual(response_data["status"], 400)
self.assertEqual(
response_data["invalidParams"],
[
{
"name": "digitaleAdressen",
"code": "required",
"reason": _("This field is required."),
},
{
"name": "voorkeursDigitaalAdres",
"code": "required",
"reason": _("This field is required."),
},
{
"name": "rekeningnummers",
"code": "required",
"reason": _("This field is required."),
},
{
"name": "voorkeursRekeningnummer",
"code": "required",
"reason": _("This field is required."),
},
{
"name": "soortPartij",
"code": "required",
"reason": _("This field is required."),
},
{
"name": "indicatieActief",
"code": "required",
"reason": _("This field is required."),
},
],
)

digitaal_adres = DigitaalAdresFactory()

data = {
"digitaleAdressen": [{"uuid": str(digitaal_adres.uuid)}],
"voorkeursDigitaalAdres": {"uuid": str(digitaal_adres.uuid)},
"rekeningnummers": [],
"voorkeursRekeningnummer": None,
"soortPartij": "persoon",
"indicatieActief": True,
}

response = self.client.post(list_url, data)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)

def test_create_persoon(self):
list_url = reverse("klantinteracties:partij-list")
data = {
Expand Down

0 comments on commit 205c4eb

Please sign in to comment.