# -*- coding: utf-8; -*- from wuttjamaican.testing import DataTestCase from sideshow.db.model import orders as mod from sideshow.db.model.products import PendingProduct class TestOrder(DataTestCase): def test_str(self): order = mod.Order() self.assertEqual(str(order), "None") order = mod.Order(order_id=42) self.assertEqual(str(order), "42") 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() self.assertEqual(item.full_description, "") item = mod.OrderItem(product_description="Vinegar") self.assertEqual(item.full_description, "Vinegar") item = mod.OrderItem(product_brand='Bragg', product_description='Vinegar', product_size='32oz') self.assertEqual(item.full_description, "Bragg Vinegar 32oz") def test_str(self): item = mod.OrderItem() self.assertEqual(str(item), "") item = mod.OrderItem(product_description="Vinegar") self.assertEqual(str(item), "Vinegar") item = mod.OrderItem(product_brand='Bragg', 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)