60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
# -*- coding: utf-8; -*-
|
|
|
|
from wuttaweb.testing import WebTestCase
|
|
|
|
from sideshow_corepos.web import menus as mod
|
|
|
|
|
|
class TestSideshowMenuHandler(WebTestCase):
|
|
|
|
def make_handler(self):
|
|
return mod.SideshowMenuHandler(self.config)
|
|
|
|
def test_make_customers_menu(self):
|
|
handler = self.make_handler()
|
|
menu = handler.make_customers_menu(self.request)
|
|
item = menu["items"][-1]
|
|
self.assertEqual(
|
|
item,
|
|
{
|
|
"title": "CORE-POS Members",
|
|
"route": "corepos_members",
|
|
"perm": "corepos_members.list",
|
|
},
|
|
)
|
|
|
|
def test_make_products_menu(self):
|
|
handler = self.make_handler()
|
|
menu = handler.make_products_menu(self.request)
|
|
item = menu["items"][-1]
|
|
self.assertEqual(
|
|
item,
|
|
{
|
|
"title": "CORE-POS Products",
|
|
"route": "corepos_products",
|
|
"perm": "corepos_products.list",
|
|
},
|
|
)
|
|
|
|
def test_make_other_menu(self):
|
|
handler = self.make_handler()
|
|
|
|
# no url configured by default
|
|
menu = handler.make_other_menu(self.request)
|
|
if menu["items"]:
|
|
item = menu["items"][-1]
|
|
self.assertNotEqual(item["title"], "CORE Office")
|
|
|
|
# entry added if url configured
|
|
self.config.setdefault("corepos.office.url", "http://localhost/fannie/")
|
|
menu = handler.make_other_menu(self.request)
|
|
item = menu["items"][-1]
|
|
self.assertEqual(
|
|
item,
|
|
{
|
|
"title": "CORE Office",
|
|
# nb. trailing slash gets stripped
|
|
"url": "http://localhost/fannie",
|
|
"target": "_blank",
|
|
},
|
|
)
|