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
9 changes: 9 additions & 0 deletions seatsio/reports/events/eventReports.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,15 @@ def summary_by_channel(self, event_key):
def deep_summary_by_channel(self, event_key):
return self.__fetch_deep_summary_report("byChannel", event_key)

def flat_list(self, event_key):
url = "/reports/events/{key}"
body = self.http_client.url(url, key=event_key).get()
return [EventObjectInfo(item) for item in body]

def flat_list_csv(self, event_key):
url = "/reports/events/{key}.csv"
return self.http_client.url(url, key=event_key).get_raw().decode('utf-8')

def __fetch_report(self, report_type, event_key, report_filter=None):
if report_filter:
url = "/reports/events/{key}/{reportType}/{filter}"
Expand Down
38 changes: 38 additions & 0 deletions tests/reports/events/testEventReportsFlatList.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from seatsio.domain import EventObjectInfo
from tests.seatsioClientTest import SeatsioClientTest
from tests.util.asserts import assert_that


class EventReportsFlatListTest(SeatsioClientTest):

def test_flat_list(self):
chart_key = self.create_test_chart()
event = self.client.events.create(chart_key)

report = self.client.events.reports.flat_list(event.key)

assert_that(report).is_instance(list)
assert_that(report[0]).is_instance(EventObjectInfo)
labels = [item.label for item in report]
assert_that(labels).is_equal_to(sorted(labels))

def test_flat_list_properties(self):
chart_key = self.create_test_chart()
event = self.client.events.create(chart_key)

report = self.client.events.reports.flat_list(event.key)

first = next(item for item in report if item.label == "A-1")
assert_that(first.status).is_equal_to("free")
assert_that(first.label).is_equal_to("A-1")
assert_that(first.object_type).is_equal_to("seat")

def test_flat_list_csv(self):
chart_key = self.create_test_chart()
event = self.client.events.create(chart_key)

csv = self.client.events.reports.flat_list_csv(event.key)

assert_that(csv).is_instance(str)
assert_that(csv).contains("A-1")

Loading