From a94d0f0edb71dfe8004a120e645a25bc20eac6d6 Mon Sep 17 00:00:00 2001
From: Tore Brede <Tore.Brede@uib.no>
Date: Fri, 12 Nov 2021 14:40:13 +0100
Subject: [PATCH] GREG-110: Fixing linting error and indentation

---
 gregui/api/serializers/guest.py     |  2 +-
 gregui/api/views/invitation.py      | 23 ++++++---
 gregui/tests/api/test_invitation.py | 76 +++++++++++++++++++----------
 3 files changed, 67 insertions(+), 34 deletions(-)

diff --git a/gregui/api/serializers/guest.py b/gregui/api/serializers/guest.py
index 225ea44f..4836baf9 100644
--- a/gregui/api/serializers/guest.py
+++ b/gregui/api/serializers/guest.py
@@ -71,7 +71,7 @@ class GuestRegisterSerializer(serializers.ModelSerializer):
 
 
 def create_identity_or_update(
-        identity_type: Identity.IdentityType, value: str, person: Person
+    identity_type: Identity.IdentityType, value: str, person: Person
 ):
     existing_identity = person.identities.filter(type=identity_type).first()
     if not existing_identity:
diff --git a/gregui/api/views/invitation.py b/gregui/api/views/invitation.py
index db757d84..52e2e605 100644
--- a/gregui/api/views/invitation.py
+++ b/gregui/api/views/invitation.py
@@ -72,8 +72,8 @@ class InvitationView(CreateAPIView, DestroyAPIView):
         person = serializer.save()
 
         for invitationlink in InvitationLink.objects.filter(
-                invitation__role__person_id=person.id,
-                invitation__role__sponsor_id=sponsor_user.sponsor_id,
+            invitation__role__person_id=person.id,
+            invitation__role__sponsor_id=sponsor_user.sponsor_id,
         ):
             send_invite_mail(invitationlink)
 
@@ -143,7 +143,14 @@ class InvitedGuestView(GenericAPIView):
     serializer_class = GuestRegisterSerializer
 
     # TODO Check these scenarios again. What should be allowed to be updated in the various coses
-    fields_allowed_to_update_if_invite = ["first_name", "last_name", "email", "fnr", "mobile_phone", "passport"]
+    fields_allowed_to_update_if_invite = [
+        "first_name",
+        "last_name",
+        "email",
+        "fnr",
+        "mobile_phone",
+        "passport",
+    ]
     fields_allowed_to_update_if_feide = ["mobile_phone"]
 
     def get(self, request, *args, **kwargs):
@@ -233,8 +240,12 @@ class InvitedGuestView(GenericAPIView):
 
         # If there is a Feide ID registered with the guest, assume that the name is also coming from there
         feide_id = self._get_identity_or_none(person, Identity.IdentityType.FEIDE_ID)
-        if not self._only_allowed_fields_in_request(data,
-                                                    self.fields_allowed_to_update_if_invite if feide_id is None else self.fields_allowed_to_update_if_feide):
+        if not self._only_allowed_fields_in_request(
+            data,
+            self.fields_allowed_to_update_if_invite
+            if feide_id is None
+            else self.fields_allowed_to_update_if_feide,
+        ):
             return Response(status=status.HTTP_400_BAD_REQUEST)
 
         if self._verified_fnr_already_exists(person) and "fnr" in data:
@@ -283,7 +294,7 @@ class InvitedGuestView(GenericAPIView):
 
     @staticmethod
     def _get_identity_or_none(
-            person: Person, identity_type: Identity.IdentityType
+        person: Person, identity_type: Identity.IdentityType
     ) -> Optional[str]:
         try:
             return person.identities.get(type=identity_type).value
diff --git a/gregui/tests/api/test_invitation.py b/gregui/tests/api/test_invitation.py
index 88f987e7..c6373880 100644
--- a/gregui/tests/api/test_invitation.py
+++ b/gregui/tests/api/test_invitation.py
@@ -40,7 +40,7 @@ def test_get_invited_info_no_session(client, invitation_link):
 
 @pytest.mark.django_db
 def test_get_invited_info_session_okay(
-        client, invited_person, sponsor_foo_data, role_type_foo, unit_foo
+    client, invited_person, sponsor_foo_data, role_type_foo, unit_foo
 ):
     person, invitation_link = invited_person
     # get a session
@@ -75,7 +75,7 @@ def test_get_invited_info_session_okay(
 
 @pytest.mark.django_db
 def test_get_invited_info_expired_link(
-        client, invitation_link, invitation_expired_date
+    client, invitation_link, invitation_expired_date
 ):
     # Get a session while link is valid
     client.get(reverse("gregui-v1:invite-verify"), data={"uuid": invitation_link.uuid})
@@ -118,7 +118,7 @@ def test_invited_guest_can_post_information(client: APIClient, invited_person):
 
 @pytest.mark.django_db
 def test_post_invited_info_expired_session(
-        client, invitation_link, invitation_expired_date
+    client, invitation_link, invitation_expired_date
 ):
     # get a session
     client.post(reverse("gregui-v1:invite-verify"), data={"uuid": invitation_link.uuid})
@@ -230,10 +230,10 @@ def test_register_passport(client, invited_person):
     session.save()
 
     assert (
-            Identity.objects.filter(
-                person__id=person.id, type=Identity.IdentityType.PASSPORT_NUMBER
-            ).count()
-            == 0
+        Identity.objects.filter(
+            person__id=person.id, type=Identity.IdentityType.PASSPORT_NUMBER
+        ).count()
+        == 0
     )
 
     response = client.post(url, data, format="json")
@@ -249,10 +249,17 @@ def test_register_passport(client, invited_person):
 
 
 @pytest.mark.django_db
-def test_name_update_not_allowed_if_feide_identity_is_present(client: APIClient, person_foo, sponsor_foo, unit_foo,
-                                                              role_type_foo,
-                                                              create_role, create_invitation, create_invitation_link,
-                                                              invitation_valid_date):
+def test_name_update_not_allowed_if_feide_identity_is_present(
+    client: APIClient,
+    person_foo,
+    sponsor_foo,
+    unit_foo,
+    role_type_foo,
+    create_role,
+    create_invitation,
+    create_invitation_link,
+    invitation_valid_date,
+):
     # This person has a Feide ID, so the name is assumed to come from there as well
     # and the guest should not be allowed to update it
     role = create_role(
@@ -263,7 +270,13 @@ def test_name_update_not_allowed_if_feide_identity_is_present(client: APIClient,
     client.post(reverse("gregui-v1:invite-verify"), data={"uuid": invitation_link.uuid})
 
     person = invitation_link.invitation.role.person
-    data = {"person": {"first_name": "Someone", "last_name": "Test", "mobile_phone": "+4797543992"}}
+    data = {
+        "person": {
+            "first_name": "Someone",
+            "last_name": "Test",
+            "mobile_phone": "+4797543992",
+        }
+    }
 
     # The update request should fail because it contains a name update
     response = client.post(
@@ -280,27 +293,36 @@ def test_name_update_not_allowed_if_feide_identity_is_present(client: APIClient,
 
 
 @pytest.mark.django_db
-def test_name_update_allowed_if_feide_identity_is_not_present(client: APIClient, create_person, sponsor_foo, unit_foo,
-                                                              role_type_foo,
-                                                              create_role, create_invitation, create_invitation_link,
-                                                              invitation_valid_date):
+def test_name_update_allowed_if_feide_identity_is_not_present(
+    client: APIClient,
+    create_person,
+    sponsor_foo,
+    unit_foo,
+    role_type_foo,
+    create_role,
+    create_invitation,
+    create_invitation_link,
+    invitation_valid_date,
+):
     # This person does not have a Feide ID, so he will be viewed as someone whose name was entered manually
     # by the sponsor, and in it that case the guest can update it
-    person = create_person(
-        first_name="Foo",
-        last_name="Bar",
-        email="foo@bar.com")
+    person = create_person(first_name="Foo", last_name="Bar", email="foo@bar.com")
     role = create_role(
         person=person, sponsor=sponsor_foo, unit=unit_foo, role_type=role_type_foo
     )
-    invitation = create_invitation(role)
-    invitation_link = create_invitation_link(invitation, invitation_valid_date)
+    invitation_link = create_invitation_link(
+        create_invitation(role), invitation_valid_date
+    )
     client.post(reverse("gregui-v1:invite-verify"), data={"uuid": invitation_link.uuid})
 
     person = invitation_link.invitation.role.person
-    first_name = "Someone"
-    last_name = "Test"
-    data = {"person": {"first_name": first_name, "last_name": last_name, "mobile_phone": "+4797543992"}}
+    data = {
+        "person": {
+            "first_name": "Someone",
+            "last_name": "Test",
+            "mobile_phone": "+4797543992",
+        }
+    }
 
     response = client.post(
         reverse("gregui-v1:invited-info"),
@@ -312,5 +334,5 @@ def test_name_update_allowed_if_feide_identity_is_not_present(client: APIClient,
     # Check that the name has been updated in the database
     assert Person.objects.count() == 1
     person.refresh_from_db()
-    assert person.first_name == first_name
-    assert person.last_name == last_name
+    assert person.first_name == "Someone"
+    assert person.last_name == "Test"
-- 
GitLab