Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/events/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,10 @@ def get_speakers(self, obj):

class Meta:
model = SponsoredEvent
fields = ["id", "title", "category", "speakers", "event_type", "language", "python_level"]
fields = [
"id", "location", "begin_time", "title", "category", "language",
"python_level", "speakers", "event_type",
]


class TutorialProposalSerializer(serializers.ModelSerializer):
Expand Down
40 changes: 39 additions & 1 deletion src/events/tests/api/test_list_speeches.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,45 @@
import datetime

import pytest
from django.urls import reverse

from events.models import ProposedTalkEvent, ProposedTutorialEvent, SponsoredEvent
from events.models import Location, ProposedTalkEvent, ProposedTutorialEvent, SponsoredEvent, Time


def test_sponsored_speech_list_fields_match_talk(
api_client, accepted_talk_proposal, user):
begin_time = Time.all_objects.create(
value=datetime.datetime(2030, 1, 1, 1, tzinfo=datetime.timezone.utc),
)
sponsored_event = SponsoredEvent.objects.create(
title="Sponsored talk",
slug="sponsored-talk",
host=user,
category="NLP",
language="ENEN",
python_level="NOVICE",
location=Location.R2,
begin_time=begin_time,
)
talk_event = ProposedTalkEvent.objects.create(
proposal=accepted_talk_proposal,
location=sponsored_event.location,
begin_time=sponsored_event.begin_time,
)
response = api_client.get('/api/events/speeches/', {"event_types": "talk,sponsored"})

assert response.status_code == 200
talk_data = next(
event for event in response.json()
if event["event_type"] == "talk" and event["id"] == talk_event.id
)
sponsored_data = next(
event for event in response.json()
if event["event_type"] == "sponsored" and event["id"] == sponsored_event.id
)
assert set(sponsored_data) == set(talk_data)
assert sponsored_data["location"] == sponsored_event.location
assert sponsored_data["begin_time"] == sponsored_event.begin_time_id.isoformat().replace('+00:00', 'Z')


@pytest.mark.parametrize(
Expand Down
Loading