Skip to content

Commit

Permalink
Added call to override the season object status (#66)
Browse files Browse the repository at this point in the history
  • Loading branch information
mroloux authored Oct 27, 2023
1 parent 881210b commit 7e4e556
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 0 deletions.
11 changes: 11 additions & 0 deletions seatsio/events/eventsClient.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from seatsio.events.createSingleEventRequest import CreateSingleEventRequest
from seatsio.events.extraDataRequest import ExtraDataRequest
from seatsio.events.forSaleRequest import ForSaleRequest
from seatsio.events.overrideSeasonObjectStatusRequest import OverrideSeasonObjectStatusRequest
from seatsio.events.updateEventRequest import UpdateEventRequest
from seatsio.pagination.listableObjectsClient import ListableObjectsClient
from seatsio.pagination.lister import Lister
Expand Down Expand Up @@ -189,6 +190,16 @@ def mark_as_not_for_sale(self, key, objects=None, area_places=None, categories=N
def mark_everything_as_for_sale(self, key):
self.http_client.url("/events/{key}/actions/mark-everything-as-for-sale", key=key).post()

def override_season_object_status(self, key, objects):
self.http_client \
.url("/events/{key}/actions/override-season-status", key=key) \
.post(OverrideSeasonObjectStatusRequest(objects))

def use_season_object_status(self, key, objects):
self.http_client \
.url("/events/{key}/actions/use-season-status", key=key) \
.post(OverrideSeasonObjectStatusRequest(objects))

def update_extra_data(self, key, o, extra_data):
self.http_client \
.url("/events/{key}/objects/{object}/actions/update-extra-data", key=key, object=o) \
Expand Down
3 changes: 3 additions & 0 deletions seatsio/events/overrideSeasonObjectStatusRequest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
class OverrideSeasonObjectStatusRequest:
def __init__(self, objects):
self.objects = objects
19 changes: 19 additions & 0 deletions tests/events/testOverrideSeasonObjectStatus.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from seatsio.domain import EventObjectInfo
from tests.seatsioClientTest import SeatsioClientTest
from tests.util.asserts import assert_that


class OverrideSeasonObjectStatusTest(SeatsioClientTest):

def test(self):
chart_key = self.create_test_chart()
season = self.client.seasons.create(chart_key, event_keys=["event1"])
self.client.events.book(season.key, ["A-1", "A-2"])

self.client.events.override_season_object_status("event1", ["A-1", "A-2"])

a1_status = self.client.events.retrieve_object_info("event1", "A-1").status
a2_status = self.client.events.retrieve_object_info("event1", "A-2").status

assert_that(a1_status).is_equal_to(EventObjectInfo.FREE)
assert_that(a2_status).is_equal_to(EventObjectInfo.FREE)
20 changes: 20 additions & 0 deletions tests/events/testUseSeasonObjectStatus.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from seatsio.domain import EventObjectInfo
from tests.seatsioClientTest import SeatsioClientTest
from tests.util.asserts import assert_that


class UseSeasonObjectStatusTest(SeatsioClientTest):

def test(self):
chart_key = self.create_test_chart()
season = self.client.seasons.create(chart_key, event_keys=["event1"])
self.client.events.book(season.key, ["A-1", "A-2"])
self.client.events.override_season_object_status("event1", ["A-1", "A-2"])

self.client.events.use_season_object_status("event1", ["A-1", "A-2"])

a1_status = self.client.events.retrieve_object_info("event1", "A-1").status
a2_status = self.client.events.retrieve_object_info("event1", "A-2").status

assert_that(a1_status).is_equal_to(EventObjectInfo.BOOKED)
assert_that(a2_status).is_equal_to(EventObjectInfo.BOOKED)

0 comments on commit 7e4e556

Please sign in to comment.