Skip to content
Snippets Groups Projects
Commit ad573a7b authored by Tore.Brede's avatar Tore.Brede
Browse files

Adding first name and last name for sponsor in model

parent e53b6255
No related branches found
No related tags found
1 merge request!22Adding first and last name to sponsor model
...@@ -6,4 +6,4 @@ from greg.models import Sponsor ...@@ -6,4 +6,4 @@ from greg.models import Sponsor
class SponsorSerializer(serializers.ModelSerializer): class SponsorSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Sponsor model = Sponsor
fields = ["id", "feide_id"] fields = ["id", "feide_id", "first_name", "last_name"]
from drf_spectacular.utils import extend_schema, OpenApiParameter from drf_spectacular.utils import extend_schema, OpenApiParameter
from rest_framework import mixins from rest_framework import mixins
from rest_framework.viewsets import ReadOnlyModelViewSet, GenericViewSet from rest_framework.viewsets import GenericViewSet, ModelViewSet
from greg.api.pagination import PrimaryKeyCursorPagination from greg.api.pagination import PrimaryKeyCursorPagination
from greg.api.serializers import PersonSerializer from greg.api.serializers import PersonSerializer
...@@ -8,7 +8,7 @@ from greg.api.serializers.sponsor import SponsorSerializer ...@@ -8,7 +8,7 @@ from greg.api.serializers.sponsor import SponsorSerializer
from greg.models import Sponsor, Person from greg.models import Sponsor, Person
class SponsorViewSet(ReadOnlyModelViewSet): class SponsorViewSet(ModelViewSet):
"""Sponsor API""" """Sponsor API"""
queryset = Sponsor.objects.all().order_by("id") queryset = Sponsor.objects.all().order_by("id")
......
# Generated by Django 3.2.5 on 2021-08-06 13:28 # Generated by Django 3.2.5 on 2021-08-12 10:52
import datetime import datetime
import dirtyfields.dirtyfields import dirtyfields.dirtyfields
...@@ -119,6 +119,8 @@ class Migration(migrations.Migration): ...@@ -119,6 +119,8 @@ class Migration(migrations.Migration):
('created', models.DateTimeField(auto_now_add=True)), ('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)), ('updated', models.DateTimeField(auto_now=True)),
('feide_id', models.CharField(max_length=256)), ('feide_id', models.CharField(max_length=256)),
('first_name', models.CharField(max_length=256)),
('last_name', models.CharField(max_length=256)),
], ],
bases=(dirtyfields.dirtyfields.DirtyFieldsMixin, models.Model), bases=(dirtyfields.dirtyfields.DirtyFieldsMixin, models.Model),
), ),
......
...@@ -253,6 +253,9 @@ class Sponsor(BaseModel): ...@@ -253,6 +253,9 @@ class Sponsor(BaseModel):
""" """
feide_id = models.CharField(max_length=256) feide_id = models.CharField(max_length=256)
first_name = models.CharField(max_length=256)
last_name = models.CharField(max_length=256)
units = models.ManyToManyField( units = models.ManyToManyField(
"OrganizationalUnit", "OrganizationalUnit",
through="SponsorOrganizationalUnit", through="SponsorOrganizationalUnit",
...@@ -260,8 +263,12 @@ class Sponsor(BaseModel): ...@@ -260,8 +263,12 @@ class Sponsor(BaseModel):
) )
def __repr__(self): def __repr__(self):
return "{}(id={!r}, feide_id={!r})".format( return "{}(id={!r}, feide_id={!r}, first_name={!r}, last_name={!r})".format(
self.__class__.__name__, self.pk, self.feide_id self.__class__.__name__,
self.pk,
self.feide_id,
self.first_name,
self.last_name,
) )
class Meta: class Meta:
......
import pytest import pytest
from rest_framework import status
from rest_framework.reverse import reverse from rest_framework.reverse import reverse
...@@ -22,6 +23,29 @@ def person_foo_role( ...@@ -22,6 +23,29 @@ def person_foo_role(
) )
@pytest.mark.django_db
def test_add_sponsor(client):
data = {
"feide_id": "sponsor@example.org",
"first_name": "Test",
"last_name": "Sponsor",
}
post_response = client.post(reverse("sponsor-list"), data=data)
assert post_response.status_code == status.HTTP_201_CREATED
response_data = post_response.json()
list_response = client.get(
reverse("sponsor-detail", kwargs={"id": response_data["id"]})
)
list_response_data = list_response.json()
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"]
@pytest.mark.django_db @pytest.mark.django_db
def test_sponsor_guest_list(client, sponsor_guy, person_foo_role): def test_sponsor_guest_list(client, sponsor_guy, person_foo_role):
url = reverse("sponsor_guests-list", kwargs={"sponsor_id": sponsor_guy.id}) url = reverse("sponsor_guests-list", kwargs={"sponsor_id": sponsor_guy.id})
......
...@@ -46,7 +46,9 @@ def person_bar() -> Person: ...@@ -46,7 +46,9 @@ def person_bar() -> Person:
@pytest.fixture @pytest.fixture
def sponsor_guy() -> Sponsor: def sponsor_guy() -> Sponsor:
return Sponsor.objects.create(feide_id="guy@example.org") return Sponsor.objects.create(
feide_id="guy@example.org", first_name="Sponsor", last_name="Guy"
)
@pytest.fixture @pytest.fixture
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment