@@ -852,15 +852,36 @@ def test_use_openzaak_120_params_flag_varies_query_params_for_eherkenning_users(
852852 for group in self .api_groups :
853853 zrc_root = group .zrc_service .api_root .rstrip ("/" )
854854 if user .vestiging :
855+ # Mock for vestigingsnummer request
855856 m .get (
856857 f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__vestigingsNummer={ user .vestiging } " ,
857858 json = {"results" : []},
858859 )
860+ # Mock for KVK/RSIN request
861+ m .get (
862+ f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__kvkNummer={ user .kvk } " ,
863+ json = {"results" : []},
864+ )
859865 else :
860866 m .get (
861867 f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__kvkNummer={ user .kvk } " ,
862868 json = {"results" : []},
863869 )
870+ else :
871+ # For legacy parameters
872+ for group in self .api_groups :
873+ zrc_root = group .zrc_service .api_root .rstrip ("/" )
874+ if user .vestiging :
875+ # Mock for vestigingsnummer request
876+ m .get (
877+ f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__vestiging__vestigingsNummer={ user .vestiging } " ,
878+ json = {"results" : []},
879+ )
880+ # Mock for KVK/RSIN request
881+ m .get (
882+ f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__innNnpId={ user .kvk } " ,
883+ json = {"results" : []},
884+ )
864885
865886 m .reset_mock ()
866887
@@ -882,24 +903,29 @@ def test_use_openzaak_120_params_flag_varies_query_params_for_eherkenning_users(
882903 zrc_root = group .zrc_service .api_root .rstrip ("/" )
883904
884905 if use_openzaak_120_params :
906+ # Two requests when vestigingsnummer is provided
885907 if user .vestiging :
886908 # OpenZaak 1.20+ vestiging parameter
887909 expected_urls .add (
888910 f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__vestigingsNummer={ user .vestiging } "
889911 )
912+ # OpenZaak 1.20+ KVK parameter
913+ expected_urls .add (
914+ f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__kvkNummer={ user .kvk } "
915+ )
890916 else :
891- # OpenZaak 1.20+ KvK parameter
892917 expected_urls .add (
893918 f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__kvkNummer={ user .kvk } "
894919 )
895920 else :
896921 if user .vestiging :
897- # Legacy vestiging parameter
898922 expected_urls .add (
899923 f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__vestiging__vestigingsNummer={ user .vestiging } "
900924 )
925+ expected_urls .add (
926+ f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__innNnpId={ user .kvk } "
927+ )
901928 else :
902- # Legacy KvK/RSIN parameter
903929 expected_urls .add (
904930 f"{ zrc_root } /zaken?maximaleVertrouwelijkheidaanduiding=beperkt_openbaar&rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__innNnpId={ user .kvk } "
905931 )
@@ -944,15 +970,47 @@ def test_list_cases_for_kvk_user_with_vestigingsnummer(self, m):
944970
945971 # check zaken request query parameters
946972 for zaken_root in ("zaken.nl" , "andere-zaken.nl" ):
947- list_zaken_req = [
973+ zaken_requests = [
948974 req
949975 for req in m .request_history
950976 if req .hostname == zaken_root and req .path == "/api/v1/zaken"
951- ][0 ]
977+ ]
978+
979+ # we should have two requests, one for KVK + one for vestiging
980+ self .assertEqual (len (zaken_requests ), 2 )
981+
982+ kvk_request = None
983+ vestigingsnummer_request = None
984+ for req in zaken_requests :
985+ if (
986+ "rol__betrokkeneidentificatie__vestiging__vestigingsnummer"
987+ in req .qs
988+ ):
989+ vestigingsnummer_request = req
990+ if (
991+ "rol__betrokkeneidentificatie__nietnatuurlijkpersoon__innnnpid"
992+ in req .qs
993+ ):
994+ kvk_request = req
995+
996+ self .assertIsNotNone (
997+ vestigingsnummer_request , "No zaken request for vestigingsnummer found"
998+ )
999+ self .assertIsNotNone (kvk_request , "No zaken request for kvk found" )
9521000
953- self .assertEqual (len (list_zaken_req .qs ), 2 )
9541001 self .assertEqual (
955- list_zaken_req .qs ,
1002+ kvk_request .qs ,
1003+ {
1004+ "maximalevertrouwelijkheidaanduiding" : [
1005+ VertrouwelijkheidsAanduidingen .beperkt_openbaar
1006+ ],
1007+ "rol__betrokkeneidentificatie__nietnatuurlijkpersoon__innnnpid" : [
1008+ self .eherkenning_user_vestiging .kvk
1009+ ],
1010+ },
1011+ )
1012+ self .assertEqual (
1013+ vestigingsnummer_request .qs ,
9561014 {
9571015 "maximalevertrouwelijkheidaanduiding" : [
9581016 VertrouwelijkheidsAanduidingen .beperkt_openbaar
@@ -967,12 +1025,38 @@ def test_list_cases_for_rsin_user_with_vestigingsnummer(self, m):
9671025 for mock in self .mocks :
9681026 mock ._setUpMocks (m )
9691027
1028+ for zaken_root in ("zaken.nl" , "andere-zaken.nl" ):
1029+ m .get (
1030+ furl (f"{ zaken_root } /api/vi/zaken" )
1031+ .add (
1032+ {
1033+ "maximaleVertrouwelijkheidaanduiding" : VertrouwelijkheidsAanduidingen .openbaar ,
1034+ "rol__betrokkeneIdentificatie__nietNatuurlijkPersoon__innNnpId" : self .eherkenning_user_vestiging .rsin ,
1035+ }
1036+ )
1037+ .url ,
1038+ json = paginated_response (
1039+ [
1040+ mock .zaak_eherkenning1 ,
1041+ mock .zaak_eherkenning2 ,
1042+ ]
1043+ )
1044+ if zaken_root == "zaken.nl"
1045+ else paginated_response ([mock .zaak_eherkenning1 ]),
1046+ )
1047+
1048+ for group in self .api_groups :
1049+ group .fetch_eherkenning_zaken_with_rsin = True
1050+ group .save ()
1051+
9701052 self .client .force_login (user = self .eherkenning_user_vestiging )
9711053
9721054 m .reset_mock ()
9731055
9741056 response = self .client .get (self .inner_url , HTTP_HX_REQUEST = "true" )
9751057
1058+ # We expect only zaak_eherkenning1 in the results since it's the only one
1059+ # present in both the RSIN and vestigingsnummer responses
9761060 expected_cases = [
9771061 {
9781062 "uuid" : mock .zaak_eherkenning1 ["uuid" ],
@@ -999,18 +1083,50 @@ def test_list_cases_for_rsin_user_with_vestigingsnummer(self, m):
9991083 # don't show internal cases
10001084 self .assertNotContains (response , mock .zaak_intern ["omschrijving" ])
10011085 self .assertNotContains (response , mock .zaak_intern ["identificatie" ])
1086+ # verify zaak_eherkenning2 is not included
1087+ self .assertNotContains (response , mock .zaak_eherkenning2 ["identificatie" ])
10021088
1003- # check zaken request query parameters
1089+ # check requests
10041090 for zaken_root in ("zaken.nl" , "andere-zaken.nl" ):
1005- list_zaken_req = [
1091+ zaken_requests = [
10061092 req
10071093 for req in m .request_history
10081094 if req .hostname == zaken_root and req .path == "/api/v1/zaken"
1009- ][ 0 ]
1095+ ]
10101096
1011- self .assertEqual (len (list_zaken_req .qs ), 2 )
1097+ self .assertEqual (len (zaken_requests ), 2 )
1098+
1099+ rsin_request = None
1100+ vestigingsnummer_request = None
1101+
1102+ for req in zaken_requests :
1103+ query_string = req .qs
1104+ if any ("vestigingsnummer" in key .lower () for key in query_string ):
1105+ vestigingsnummer_request = req
1106+ elif any (
1107+ "nietnatuurlijkpersoon" in key .lower () for key in query_string
1108+ ):
1109+ rsin_request = req
1110+
1111+ self .assertIsNotNone (
1112+ vestigingsnummer_request , "No request for vestigingsnummer found"
1113+ )
1114+ self .assertIsNotNone (rsin_request , "No request for rsin found" )
1115+
1116+ # Verify request params
10121117 self .assertEqual (
1013- list_zaken_req .qs ,
1118+ rsin_request .qs ,
1119+ {
1120+ "maximalevertrouwelijkheidaanduiding" : [
1121+ VertrouwelijkheidsAanduidingen .beperkt_openbaar
1122+ ],
1123+ "rol__betrokkeneidentificatie__nietnatuurlijkpersoon__innnnpid" : [
1124+ self .eherkenning_user_vestiging .rsin
1125+ ],
1126+ },
1127+ )
1128+ self .assertEqual (
1129+ vestigingsnummer_request .qs ,
10141130 {
10151131 "maximalevertrouwelijkheidaanduiding" : [
10161132 VertrouwelijkheidsAanduidingen .beperkt_openbaar
0 commit comments