From 9127ae632851d84cfa56b9a5c12c580ceb12c484 Mon Sep 17 00:00:00 2001
From: "Tore.Brede" <tore.brede@uib.no>
Date: Wed, 9 Feb 2022 09:09:42 +0000
Subject: [PATCH] GREG-205: Adding work e-mail in sponsor API

---
 greg/api/serializers/sponsor.py           | 2 +-
 greg/models.py                            | 3 ++-
 greg/tests/api/test_sponsor.py            | 2 ++
 greg/tests/models/test_identity.py        | 3 ++-
 greg/tests/models/test_sponsor.py         | 3 ++-
 greg/tests/models/test_sponsor_orgunit.py | 2 +-
 6 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/greg/api/serializers/sponsor.py b/greg/api/serializers/sponsor.py
index 4171419e..240635d3 100644
--- a/greg/api/serializers/sponsor.py
+++ b/greg/api/serializers/sponsor.py
@@ -9,4 +9,4 @@ class SponsorSerializer(serializers.ModelSerializer):
 
     class Meta:
         model = Sponsor
-        fields = ["id", "feide_id", "first_name", "last_name", "orgunits"]
+        fields = ["id", "feide_id", "first_name", "last_name", "work_email", "orgunits"]
diff --git a/greg/models.py b/greg/models.py
index 1d96f922..fe55c06e 100644
--- a/greg/models.py
+++ b/greg/models.py
@@ -524,12 +524,13 @@ class Sponsor(BaseModel):
         return f"{self.feide_id} ({self.first_name} {self.last_name})"
 
     def __repr__(self) -> str:
-        return "{}(id={!r}, feide_id={!r}, first_name={!r}, last_name={!r})".format(
+        return "{}(id={!r}, feide_id={!r}, first_name={!r}, last_name={!r}, work_email={!r})".format(
             self.__class__.__name__,
             self.pk,
             self.feide_id,
             self.first_name,
             self.last_name,
+            self.work_email,
         )
 
     class Meta:
diff --git a/greg/tests/api/test_sponsor.py b/greg/tests/api/test_sponsor.py
index 459fd64e..5b48fc5a 100644
--- a/greg/tests/api/test_sponsor.py
+++ b/greg/tests/api/test_sponsor.py
@@ -18,6 +18,7 @@ def test_add_sponsor(client):
         "feide_id": "sponsor@example.org",
         "first_name": "Test",
         "last_name": "Sponsor",
+        "work_email": "sponsor123@example.org",
     }
 
     post_response = client.post(reverse("v1:sponsor-list"), data=data)
@@ -33,6 +34,7 @@ def test_add_sponsor(client):
     assert list_response_data["feide_id"] == data["feide_id"]
     assert list_response_data["first_name"] == data["first_name"]
     assert list_response_data["last_name"] == data["last_name"]
+    assert list_response_data["work_email"] == data["work_email"]
 
 
 @pytest.mark.django_db
diff --git a/greg/tests/models/test_identity.py b/greg/tests/models/test_identity.py
index b59957a2..c116629f 100644
--- a/greg/tests/models/test_identity.py
+++ b/greg/tests/models/test_identity.py
@@ -5,5 +5,6 @@ import pytest
 def test_identity_repr(person_foo_verified):
     assert (
         repr(person_foo_verified)
-        == "Identity(id=3, person_id=1, type='passport_number', source='Test', value='12345', verified_by=Sponsor(id=1, feide_id='guy@example.org', first_name='Sponsor', last_name='Guy'), verified_at=datetime.datetime(2021, 6, 15, 12, 34, 56, tzinfo=datetime.timezone.utc))"
+        == "Identity(id=3, person_id=1, type='passport_number', source='Test', value='12345', verified_by=Sponsor(id=1, feide_id='guy@example.org', first_name='Sponsor', last_name='Guy', work_email='sponsor_guy@example.com'), "
+        "verified_at=datetime.datetime(2021, 6, 15, 12, 34, 56, tzinfo=datetime.timezone.utc))"
     )
diff --git a/greg/tests/models/test_sponsor.py b/greg/tests/models/test_sponsor.py
index 0346024c..81b95701 100644
--- a/greg/tests/models/test_sponsor.py
+++ b/greg/tests/models/test_sponsor.py
@@ -56,7 +56,8 @@ def test_add_muliple_sponsors_to_unit(sponsor_foo, sponsor_bar, unit1, unit2):
 def test_sponsor_repr(sponsor_guy):
     assert (
         repr(sponsor_guy)
-        == "Sponsor(id=1, feide_id='guy@example.org', first_name='Sponsor', last_name='Guy')"
+        == "Sponsor(id=1, feide_id='guy@example.org', first_name='Sponsor', last_name='Guy', "
+        "work_email='sponsor_guy@example.com')"
     )
 
 
diff --git a/greg/tests/models/test_sponsor_orgunit.py b/greg/tests/models/test_sponsor_orgunit.py
index c05c635c..b1f3c41b 100644
--- a/greg/tests/models/test_sponsor_orgunit.py
+++ b/greg/tests/models/test_sponsor_orgunit.py
@@ -5,5 +5,5 @@ import pytest
 def test_sponsor_org_repr(sponsor_org_unit):
     assert (
         repr(sponsor_org_unit)
-        == "SponsorOrganizationalUnit(id=1, sponsor=Sponsor(id=1, feide_id='guy@example.org', first_name='Sponsor', last_name='Guy'), organizational_unit=OrganizationalUnit(id=1, name_en='foo_unit', parent=None), hierarchical_access=False)"
+        == "SponsorOrganizationalUnit(id=1, sponsor=Sponsor(id=1, feide_id='guy@example.org', first_name='Sponsor', last_name='Guy', work_email='sponsor_guy@example.com'), organizational_unit=OrganizationalUnit(id=1, name_en='foo_unit', parent=None), hierarchical_access=False)"
     )
-- 
GitLab