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)
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)
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)
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)
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)
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)
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)
def get_menu(klass, user=None): """ Return the Menu for this application. """ return menus.Menu(user=user)
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)