示例#1
0
 def test_sets_items_from_app(self, get_app, plugin_list):
     get_app.return_value = self.app
     plugin_list.return_value = []
     menu_items = [menus.MenuItem()]
     self.app.get_menu_items.return_value = menu_items
     menu = menus.Menu(user=self.user)
     self.assertEqual(menu_items, menu.items)
示例#2
0
 def test_sets_items_from_plugin(self, get_app, plugin_list):
     get_app.return_value = self.app
     menu_items = [menus.MenuItem()]
     mock_plugin = MagicMock(name='Plugin')
     mock_plugin.menuitems = menu_items
     plugin_list.return_value = [mock_plugin]
     menu = menus.Menu(user=self.user)
     self.assertEqual(menu_items, menu.items)
示例#3
0
 def test_sets_items_from_app_dict(self, get_app, plugin_list):
     with warnings.catch_warnings(record=True):
         get_app.return_value = self.app
         plugin_list.return_value = []
         menu_items = [{'display': 'Display Name'}]
         self.app.get_menu_items.return_value = menu_items
         menu = menus.Menu(user=self.user)
         self.assertEqual('Display Name', menu.items[0].display)
示例#4
0
 def test_sets_items_from_plugin_dict(self, get_app, plugin_list):
     with warnings.catch_warnings(record=True):
         get_app.return_value = self.app
         menu_items = [{'display': 'Display Name'}]
         mock_plugin = MagicMock(name='Plugin')
         mock_plugin.menuitems = menu_items
         plugin_list.return_value = [mock_plugin]
         menu = menus.Menu(user=self.user)
         self.assertEqual('Display Name', menu.items[0].display)
示例#5
0
 def test_excludes_items_from_app_if_for_user_is_false(
         self, get_app, plugin_list):
     get_app.return_value = self.app
     plugin_list.return_value = []
     menu_item = menus.MenuItem()
     menu_items = [menu_item]
     self.app.menuitems = menu_items
     with patch.object(menu_item, "for_user") as for_user:
         for_user.return_value = False
         menu = menus.Menu(user=self.user)
         self.assertEqual([], menu.items)
示例#6
0
 def test_iter_sorts(self, get_app, plugin_list):
     get_app.return_value = self.app
     plugin_list.return_value = []
     menu = menus.Menu(user=self.user)
     menu.items = [
         menus.MenuItem(href='/third', index=4),
         menus.MenuItem(href='/first', index=2),
         menus.MenuItem(href='/second', index=2),
     ]
     expected = ['/first', '/second', '/third']
     for i, item in enumerate(i for i in menu):
         self.assertEqual(expected[i], item.href)
示例#7
0
 def test_excludes_items_from_plugin_if_for_user_is_false(
         self, get_app, plugin_list):
     get_app.return_value = self.app
     menu_item = menus.MenuItem()
     menu_items = [menu_item]
     mock_plugin = MagicMock(name='Plugin')
     mock_plugin.menuitems = menu_items
     plugin_list.return_value = [mock_plugin]
     with patch.object(menu_item, "for_user") as for_user:
         for_user.return_value = False
         menu = menus.Menu(user=self.user)
         self.assertEqual([], menu.items)
示例#8
0
 def get_menu(klass, user=None):
     """
     Return the Menu for this application.
     """
     return menus.Menu(user=user)
示例#9
0
 def test_empty_items(self, get_app, plugin_list):
     get_app.return_value = self.app
     plugin_list.return_value = []
     menu = menus.Menu(user=self.user)
     self.assertEqual([], menu.items)