Skip to content
Snippets Groups Projects
Verified Commit df39d43e authored by Ernesto Rico Schmidt's avatar Ernesto Rico Schmidt
Browse files

test: update to the new route & fix playout tests

parent 5e7c20eb
No related branches found
No related tags found
1 merge request!52new program endpoint
......@@ -7,9 +7,9 @@ pytestmark = pytest.mark.django_db
def url(include_virtual=False):
if include_virtual:
return "/api/v1/playout/?include_virtual=true"
return "/api/v1/program/playout/?include_virtual=true"
return "/api/v1/playout/"
return "/api/v1/program/playout/"
def create_daily_schedule(admin_api_client, daily_rrule, show) -> None:
......@@ -33,18 +33,41 @@ def create_daily_schedule(admin_api_client, daily_rrule, show) -> None:
admin_api_client.post("/api/v1/schedules/", data=data, format="json")
def assert_entry(entry, show) -> None:
"""asserts the playout entry corresponds to the given show."""
assert entry["episode"]
assert entry["schedule"]
assert entry["show"]
assert entry["timeslot"]
assert entry["timeslotId"]
assert entry["showId"] == entry["show"]["id"] == show.id
assert entry["show"]["name"] == show.name
def assert_virtual_entry(entry, fallback_show) -> None:
"""asserts the playout entry is virtual and corresponds to given fallback show."""
assert entry["show"]
assert not entry["episode"]
assert not entry["schedule"]
assert not entry["timeslot"]
assert not entry["timeslotId"]
assert entry["showId"] == entry["show"]["id"] == fallback_show.id
assert entry["show"]["name"] == fallback_show.name
def test_playout(admin_api_client, api_client, daily_rrule, show):
create_daily_schedule(admin_api_client, daily_rrule, show)
response = api_client.get(url())
assert response.status_code == 200
assert len(response.json()) == 7
assert len(response.json()) == 1
for entry in response.json():
assert not entry["timeslot"]["isVirtual"]
assert entry["show"]["id"] == show.id
assert entry["show"]["name"] == show.name
assert_entry(response.json()[0], show)
def test_playout_include_virtual(
......@@ -60,12 +83,13 @@ def test_playout_include_virtual(
response = api_client.get(url(include_virtual=True))
assert response.status_code == 200
assert len(response.json()) == 14 or 15
for entry in response.json():
if entry["timeslot"]["isVirtual"]:
assert entry["show"]["id"] == fallback_show.id
assert entry["show"]["name"] == fallback_show.name
else:
assert entry["show"]["id"] == show.id
assert entry["show"]["name"] == show.name
assert len(response.json()) == 3
virtual_entry1, entry, virtual_entry2 = response.json()
assert_virtual_entry(virtual_entry1, fallback_show)
assert_entry(entry, show)
assert_virtual_entry(virtual_entry2, fallback_show)
assert virtual_entry1["end"] == entry["start"]
assert entry["end"] == virtual_entry2["start"]
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