From c292fd6df216450421b530aecfffd94f44ab6595 Mon Sep 17 00:00:00 2001 From: Sergei Maertens Date: Tue, 2 Jul 2024 12:03:26 +0200 Subject: [PATCH] :white_check_mark: [#4246] Add unit tests for get_identifier_value plugin method --- .../haalcentraal_brp/tests/test_plugin.py | 40 +++++++++++++++++++ .../contrib/stufbg/tests/test_plugin.py | 38 ++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/src/openforms/prefill/contrib/haalcentraal_brp/tests/test_plugin.py b/src/openforms/prefill/contrib/haalcentraal_brp/tests/test_plugin.py index 9c589d40b3..3b1c6c1a85 100644 --- a/src/openforms/prefill/contrib/haalcentraal_brp/tests/test_plugin.py +++ b/src/openforms/prefill/contrib/haalcentraal_brp/tests/test_plugin.py @@ -218,6 +218,46 @@ def __call__(self, *args, **kwargs): context = mock.call_args.kwargs["context"] self.assertIsNotNone(context) # type: ignore + def test_extract_authorizee_identifier_value(self): + cases = ( + # new auth context data approach + ( + SubmissionFactory.create( + auth_info__is_digid_machtigen=True, + auth_info__legal_subject_identifier_value="999333666", + ), + "999333666", + ), + # new auth context data, but not a BSN + ( + SubmissionFactory.create( + auth_info__is_eh_bewindvoering=True, + auth_info__legal_subject_identifier_value="12345678", + ), + None, + ), + # legacy fallback + ( + SubmissionFactory.create( + auth_info__is_digid_machtigen=True, + auth_info__legal_subject_identifier_type="", + auth_info__legal_subject_identifier_value="", + auth_info__machtigen={"identifier_value": "999333666"}, + auth_info__mandate_context=None, + ), + "999333666", + ), + ) + plugin = HaalCentraalPrefill(PLUGIN_IDENTIFIER) + + for submission, expected in cases: + with self.subTest(auth_context=submission.auth_info.to_auth_context_data()): + identifier_value = plugin.get_identifier_value( + submission, IdentifierRoles.authorizee + ) + + self.assertEqual(identifier_value, expected) + class HaalCentraalFindPersonV1Tests(HaalCentraalPluginTests, TestCase): version = BRPVersions.v13 diff --git a/src/openforms/prefill/contrib/stufbg/tests/test_plugin.py b/src/openforms/prefill/contrib/stufbg/tests/test_plugin.py index c6014a8d00..5e2326c4a1 100644 --- a/src/openforms/prefill/contrib/stufbg/tests/test_plugin.py +++ b/src/openforms/prefill/contrib/stufbg/tests/test_plugin.py @@ -267,6 +267,44 @@ def test_prefill_values_for_gemachtigde_by_bsn(self): self.assertEqual(values["postcode"], "1015 CJ") self.assertEqual(values["woonplaatsNaam"], "Amsterdam") + def test_extract_authorizee_identifier_value(self): + cases = ( + # new auth context data approach + ( + SubmissionFactory.create( + auth_info__is_digid_machtigen=True, + auth_info__legal_subject_identifier_value="999333666", + ), + "999333666", + ), + # new auth context data, but not a BSN + ( + SubmissionFactory.create( + auth_info__is_eh_bewindvoering=True, + auth_info__legal_subject_identifier_value="12345678", + ), + None, + ), + # legacy fallback + ( + SubmissionFactory.create( + auth_info__is_digid_machtigen=True, + auth_info__legal_subject_identifier_type="", + auth_info__legal_subject_identifier_value="", + auth_info__machtigen={"identifier_value": "999333666"}, + auth_info__mandate_context=None, + ), + "999333666", + ), + ) + for submission, expected in cases: + with self.subTest(auth_context=submission.auth_info.to_auth_context_data()): + identifier_value = self.plugin.get_identifier_value( + submission, IdentifierRoles.authorizee + ) + + self.assertEqual(identifier_value, expected) + class StufBgCheckTests(TestCase): @classmethod