feat: add initial support for order item events

so far just attaching events on creation, but then can view them
This commit is contained in:
Lance Edgar 2025-01-15 19:25:45 -06:00
parent c79b0262f3
commit b4deea76e0
10 changed files with 456 additions and 13 deletions

View file

@ -19,6 +19,11 @@ class TestOrder(DataTestCase):
class TestOrderItem(DataTestCase):
def make_config(self, **kw):
config = super().make_config(**kw)
config.setdefault('wutta.enum_spec', 'sideshow.enum')
return config
def test_full_description(self):
item = mod.OrderItem()
@ -44,3 +49,15 @@ class TestOrderItem(DataTestCase):
product_description='Vinegar',
product_size='32oz')
self.assertEqual(str(item), "Bragg Vinegar 32oz")
def test_add_event(self):
model = self.app.model
enum = self.app.enum
user = model.User(username='barney')
item = mod.OrderItem()
self.assertEqual(item.events, [])
item.add_event(enum.ORDER_ITEM_EVENT_INITIATED, user)
item.add_event(enum.ORDER_ITEM_EVENT_READY, user)
self.assertEqual(len(item.events), 2)
self.assertEqual(item.events[0].type_code, enum.ORDER_ITEM_EVENT_INITIATED)
self.assertEqual(item.events[1].type_code, enum.ORDER_ITEM_EVENT_READY)