sideshow/tests/db/model/test_orders.py

64 lines
2 KiB
Python
Raw Normal View History

# -*- 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)