Skip to content

Commit

Permalink
✅ [#4246] Add tests for new machtiging structure
Browse files Browse the repository at this point in the history
  • Loading branch information
sergei-maertens committed Jul 2, 2024
1 parent 35cd111 commit 5045d7f
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ def test_prefill_values_not_authenticated(self):

self.assertEqual(values, {}) # type: ignore

def test_prefill_values_for_gemachtigde(self):
def test_prefill_values_for_gemachtigde_legacy_format(self):
Attributes = get_attributes_cls()
submission = SubmissionFactory.create(
auth_info__value="111111111",
Expand All @@ -157,6 +157,31 @@ def test_prefill_values_for_gemachtigde(self):
},
) # type: ignore

def test_prefill_values_for_gemachtigde_by_bsn(self):
Attributes = get_attributes_cls()
submission = SubmissionFactory.create(
auth_info__value="111111111",
auth_info__is_digid_machtigen=True,
auth_info__legal_subject_identifier_value="999990676",
auth_info__machtigen={}, # make sure legacy format is empty
)
assert submission.is_authenticated
plugin = HaalCentraalPrefill(PLUGIN_IDENTIFIER)

values = plugin.get_prefill_values(
submission,
attributes=[Attributes.naam_voornamen, Attributes.naam_geslachtsnaam],
identifier_role=IdentifierRoles.authorizee,
)

self.assertEqual(
values,
{
"naam.voornamen": "Cornelia Francisca",
"naam.geslachtsnaam": "Wiegman",
},
) # type: ignore

def test_person_not_found_returns_empty(self):
Attributes = get_attributes_cls()
submission = SubmissionFactory.create(auth_info__value="999990676")
Expand Down Expand Up @@ -212,13 +237,21 @@ def test_person_not_found_returns_empty(self):
)
super().test_person_not_found_returns_empty()

def test_prefill_values_for_gemachtigde(self):
def test_prefill_values_for_gemachtigde_legacy_format(self):
self.requests_mock.get(
"https://personen/api/ingeschrevenpersonen/999990676",
status_code=200,
json=load_json_mock("ingeschrevenpersonen.v1-full.json"),
)
super().test_prefill_values_for_gemachtigde_legacy_format()

def test_prefill_values_for_gemachtigde_by_bsn(self):
self.requests_mock.get(
"https://personen/api/ingeschrevenpersonen/999990676",
status_code=200,
json=load_json_mock("ingeschrevenpersonen.v1-full.json"),
)
super().test_prefill_values_for_gemachtigde()
super().test_prefill_values_for_gemachtigde_by_bsn()

def test_pre_request_hooks_called(self):
self.requests_mock.get(
Expand Down Expand Up @@ -248,13 +281,21 @@ def test_person_not_found_returns_empty(self):
)
super().test_person_not_found_returns_empty()

def test_prefill_values_for_gemachtigde(self):
def test_prefill_values_for_gemachtigde_legacy_format(self):
self.requests_mock.post(
"https://personen/api/personen",
status_code=200,
json=load_json_mock("ingeschrevenpersonen.v2-full.json"),
)
super().test_prefill_values_for_gemachtigde_legacy_format()

def test_prefill_values_for_gemachtigde_by_bsn(self):
self.requests_mock.post(
"https://personen/api/personen",
status_code=200,
json=load_json_mock("ingeschrevenpersonen.v2-full.json"),
)
super().test_prefill_values_for_gemachtigde()
super().test_prefill_values_for_gemachtigde_by_bsn()

def test_pre_request_hooks_called(self):
self.requests_mock.post(
Expand Down
27 changes: 26 additions & 1 deletion src/openforms/prefill/contrib/stufbg/tests/test_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ def test_prefill_values_not_authenticated(self):

self.assertEqual(values, {})

def test_get_available_attributes_for_gemachtigde(self):
def test_get_available_attributes_for_gemachtigde_legacy_format(self):
client_patcher = mock_stufbg_client("StufBgResponse.xml")
self.addCleanup(client_patcher.stop)
attributes = [c.value for c in FieldChoices]
Expand All @@ -242,6 +242,31 @@ def test_get_available_attributes_for_gemachtigde(self):
self.assertEqual(values["postcode"], "1015 CJ")
self.assertEqual(values["woonplaatsNaam"], "Amsterdam")

def test_prefill_values_for_gemachtigde_by_bsn(self):
client_patcher = mock_stufbg_client("StufBgResponse.xml")
self.addCleanup(client_patcher.stop)
attributes = [c.value for c in FieldChoices]
submission = SubmissionFactory.create(
auth_info__value="111111111",
auth_info__is_digid_machtigen=True,
auth_info__legal_subject_identifier_value="999990676",
auth_info__machtigen={}, # make sure legacy format is empty
)

values = self.plugin.get_prefill_values(
submission, attributes, IdentifierRoles.authorizee
)

self.assertEqual(values["bsn"], "999992314")
self.assertEqual(values["voornamen"], "Media")
self.assertEqual(values["geslachtsnaam"], "Maykin")
self.assertEqual(values["straatnaam"], "Keizersgracht")
self.assertEqual(values["huisnummer"], "117")
self.assertEqual(values["huisletter"], "A")
self.assertEqual(values["huisnummertoevoeging"], "B")
self.assertEqual(values["postcode"], "1015 CJ")
self.assertEqual(values["woonplaatsNaam"], "Amsterdam")


class StufBgCheckTests(TestCase):
@classmethod
Expand Down

0 comments on commit 5045d7f

Please sign in to comment.