Skip to content

Commit

Permalink
👌 [#2041] PR feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
stevenbal committed Mar 15, 2024
1 parent 90bb701 commit 8f3f271
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 31 deletions.
8 changes: 3 additions & 5 deletions src/open_inwoner/accounts/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,11 +278,9 @@ class Meta:
| Q(login_type=LoginTypeChoices.eherkenning),
name="check_kvk_or_rsin_only_set_when_login_eherkenning",
),
# CheckConstraint(
# check=((Q(kvk="") & ~Q(rsin="")) | (~Q(kvk="") & Q(rsin="")))
# | ~Q(login_type=LoginTypeChoices.eherkenning),
# name="check_kvk_or_rsin_exclusive_when_login_eherkenning",
# ),
# NOTE: we do not need a constraint that enforces exclusivity between
# `KVK` and `RSIN`, because companies have both of these attributes and we
# need both of them to fetch cases for these companies
]

def __init__(self, *args, **kwargs):
Expand Down
15 changes: 11 additions & 4 deletions src/open_inwoner/accounts/tests/test_profile_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -540,6 +540,8 @@ def test_modify_phone_and_email_updates_klant_api(self, m):
@requests_mock.Mocker()
def test_eherkenning_user_updates_klant_api(self, m):
MockAPIReadPatchData.setUpServices()
data = MockAPIReadPatchData()
original_email = data.eherkenning_user.email

for use_rsin_for_innNnpId_query_parameter in [True, False]:
with self.subTest(
Expand All @@ -549,9 +551,14 @@ def test_eherkenning_user_updates_klant_api(self, m):
# `m` is overridden somewhere, which causes issues when `MockAPIReadPatchData.install_mocks`
# is run for the second time
with requests_mock.Mocker() as m:
data = MockAPIReadPatchData().install_mocks_eherkenning(
# Reset the email, otherwise we get errors that a user already exists
# with the updated email
data.eherkenning_user.email = original_email
data.eherkenning_user.save()

matchers = data.install_mocks_eherkenning(
m, use_rsin=use_rsin_for_innNnpId_query_parameter
)
).matchers

config = OpenKlantConfig.get_solo()
config.use_rsin_for_innNnpId_query_parameter = (
Expand All @@ -571,8 +578,8 @@ def test_eherkenning_user_updates_klant_api(self, m):
form.submit()

# user data tested in other cases
self.assertTrue(data.matchers[0].called)
klant_patch_data = data.matchers[1].request_history[0].json()
self.assertTrue(matchers[0].called)
klant_patch_data = matchers[1].request_history[0].json()
self.assertEqual(
klant_patch_data,
{
Expand Down
14 changes: 5 additions & 9 deletions src/open_inwoner/cms/cases/tests/test_contactform.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
)
from zgw_consumers.constants import APITypes

from open_inwoner.accounts.models import User
from open_inwoner.accounts.tests.factories import (
DigidUserFactory,
eHerkenningUserFactory,
Expand Down Expand Up @@ -438,18 +437,15 @@ def test_form_success_with_api(self, m):
def test_form_success_with_api_eherkenning_user(self, m):
self._setUpMocks(m)
self._setUpExtraMocks(m)

eherkenning_user = eHerkenningUserFactory.create(
kvk="12345678",
rsin="000000000",
email=self.klant["emailadres"],
)
for use_rsin_for_innNnpId_query_parameter in [True, False]:
with self.subTest(
use_rsin_for_innNnpId_query_parameter=use_rsin_for_innNnpId_query_parameter
):
# FIXME for some reason creating the user outside of the loop
# makes the second iteration fail?
User.objects.filter(kvk="12345678").delete()
eherkenning_user = eHerkenningUserFactory(
kvk="12345678", rsin="000000000"
)

config = OpenKlantConfig.get_solo()
config.use_rsin_for_innNnpId_query_parameter = (
use_rsin_for_innNnpId_query_parameter
Expand Down
9 changes: 2 additions & 7 deletions src/open_inwoner/openklant/tests/data.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from requests.exceptions import RequestException
from zgw_consumers.constants import APITypes

from open_inwoner.accounts.models import User
from open_inwoner.accounts.tests.factories import (
DigidUserFactory,
eHerkenningUserFactory,
Expand Down Expand Up @@ -39,13 +38,11 @@ def setUpServices(cls):

class MockAPIReadPatchData(MockAPIData):
def __init__(self):
User.objects.filter(email="[email protected]").delete()
self.user = DigidUserFactory(
email="[email protected]",
phonenumber="0100000000",
)

User.objects.filter(kvk="12345678").delete()
self.eherkenning_user = eHerkenningUserFactory(
email="[email protected]",
kvk="12345678",
Expand Down Expand Up @@ -107,14 +104,14 @@ def install_mocks_eherkenning(self, m, use_rsin=True) -> "MockAPIReadPatchData":

class MockAPIReadData(MockAPIData):
def __init__(self):
User.objects.filter(bsn="100000001").delete()
self.user = DigidUserFactory(
bsn="100000001",
)
User.objects.filter(kvk="12345678").delete()

self.eherkenning_user = eHerkenningUserFactory(
kvk="12345678",
rsin="000000000",
email="[email protected]",
)

self.klant = generate_oas_component_cached(
Expand Down Expand Up @@ -310,11 +307,9 @@ def install_mocks(self, m, link_objectcontactmomenten=False) -> "MockAPIReadData

class MockAPICreateData(MockAPIData):
def __init__(self):
User.objects.filter(bsn="100000001").delete()
self.user = DigidUserFactory(
bsn="100000001",
)
User.objects.filter(kvk="12345678").delete()
self.eherkenning_user = eHerkenningUserFactory(
kvk="12345678",
rsin="000000000",
Expand Down
8 changes: 6 additions & 2 deletions src/open_inwoner/openklant/tests/test_contactform.py
Original file line number Diff line number Diff line change
Expand Up @@ -435,6 +435,8 @@ def test_submit_and_register_bsn_user_via_api(self, m):

def test_submit_and_register_kvk_or_rsin_user_via_api(self, _m):
MockAPICreateData.setUpServices()
data = MockAPICreateData()
original_phonenumber = data.eherkenning_user.phonenumber

config = OpenKlantConfig.get_solo()
config.register_contact_moment = True
Expand All @@ -456,7 +458,9 @@ def test_submit_and_register_kvk_or_rsin_user_via_api(self, _m):
)
config.save()

data = MockAPICreateData()
data.eherkenning_user.phonenumber = original_phonenumber
data.eherkenning_user.save()

data.install_mocks_eherkenning(
m, use_rsin=use_rsin_for_innNnpId_query_parameter
)
Expand Down Expand Up @@ -604,6 +608,7 @@ def test_submit_and_register_bsn_user_via_api_and_update_klant(self, m):

def test_submit_and_register_kvk_or_rsin_user_via_api_and_update_klant(self, _m):
MockAPICreateData.setUpServices()
data = MockAPICreateData()

config = OpenKlantConfig.get_solo()
config.register_contact_moment = True
Expand All @@ -625,7 +630,6 @@ def test_submit_and_register_kvk_or_rsin_user_via_api_and_update_klant(self, _m)
)
config.save()

data = MockAPICreateData()
data.install_mocks_eherkenning_missing_contact_info(
m, use_rsin=use_rsin_for_innNnpId_query_parameter
)
Expand Down
7 changes: 3 additions & 4 deletions src/open_inwoner/openklant/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ def test_list_for_bsn(self, m):
self.assertEqual(status_item.text(), f"{_('Status')}\n{_('Afgehandeld')}")

def test_list_for_kvk_or_rsin(self, m):
data = MockAPIReadData().install_mocks(m)

for use_rsin_for_innNnpId_query_parameter in [True, False]:
with self.subTest(
use_rsin_for_innNnpId_query_parameter=use_rsin_for_innNnpId_query_parameter
Expand All @@ -83,8 +85,6 @@ def test_list_for_kvk_or_rsin(self, m):
)
config.save()

data = MockAPIReadData().install_mocks(m)

detail_url = reverse(
"cases:contactmoment_detail",
kwargs={"kcm_uuid": data.klant_contactmoment2["uuid"]},
Expand Down Expand Up @@ -274,6 +274,7 @@ def test_show_detail_for_bsn_with_zaak_reformat_esuite_id(self, m):
)

def test_show_detail_for_kvk_or_rsin(self, m):
data = MockAPIReadData().install_mocks(m)
for use_rsin_for_innNnpId_query_parameter in [True, False]:
with self.subTest(
use_rsin_for_innNnpId_query_parameter=use_rsin_for_innNnpId_query_parameter
Expand All @@ -284,8 +285,6 @@ def test_show_detail_for_kvk_or_rsin(self, m):
)
config.save()

data = MockAPIReadData().install_mocks(m)

detail_url = reverse(
"cases:contactmoment_detail",
kwargs={"kcm_uuid": data.klant_contactmoment2["uuid"]},
Expand Down

0 comments on commit 8f3f271

Please sign in to comment.