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 ...@@ -7,9 +7,9 @@ pytestmark = pytest.mark.django_db
def url(include_virtual=False): def url(include_virtual=False):
if include_virtual: 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: 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: ...@@ -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") 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): def test_playout(admin_api_client, api_client, daily_rrule, show):
create_daily_schedule(admin_api_client, daily_rrule, show) create_daily_schedule(admin_api_client, daily_rrule, show)
response = api_client.get(url()) response = api_client.get(url())
assert response.status_code == 200 assert response.status_code == 200
assert len(response.json()) == 7 assert len(response.json()) == 1
for entry in response.json(): assert_entry(response.json()[0], show)
assert not entry["timeslot"]["isVirtual"]
assert entry["show"]["id"] == show.id
assert entry["show"]["name"] == show.name
def test_playout_include_virtual( def test_playout_include_virtual(
...@@ -60,12 +83,13 @@ def test_playout_include_virtual( ...@@ -60,12 +83,13 @@ def test_playout_include_virtual(
response = api_client.get(url(include_virtual=True)) response = api_client.get(url(include_virtual=True))
assert response.status_code == 200 assert response.status_code == 200
assert len(response.json()) == 14 or 15 assert len(response.json()) == 3
for entry in response.json(): virtual_entry1, entry, virtual_entry2 = response.json()
if entry["timeslot"]["isVirtual"]:
assert entry["show"]["id"] == fallback_show.id assert_virtual_entry(virtual_entry1, fallback_show)
assert entry["show"]["name"] == fallback_show.name assert_entry(entry, show)
else: assert_virtual_entry(virtual_entry2, fallback_show)
assert entry["show"]["id"] == show.id
assert entry["show"]["name"] == show.name 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