def test_modules_in_core_admin_work(rf, admin_user): get_default_shop() request = rf.get("/") apply_request_middleware(request, user=admin_user) request = apply_request_middleware(rf.get("/"), user=admin_user) with replace_modules(ShoopAdminAppConfig.provides["admin_module"]): assert all(get_module_urls()) assert get_menu_entry_categories(request)
def test_permissions_for_menu_entries(rf, admin_user): permissions = set(["shoop.add_product", "shoop.delete_product", "shoop.change_product"]) request = rf.get("/") request.user = StaffUser() request.user.permissions = permissions with replace_modules([ARestrictedTestModule]): modules = [m for m in get_modules()] assert request.user.permissions == modules[0].get_required_permissions() categories = get_menu_entry_categories(request) assert categories # Make sure category is displayed if user has correct permissions test_category_menu_entries = categories.get("RestrictedTest") assert any(me.text == "OK" for me in test_category_menu_entries) # No menu items should be displayed if user has no permissions request.user.permissions = [] categories = get_menu_entry_categories(request) assert not categories
def test_menu_entries(rf): request = rf.get("/") with replace_modules([TestModule]): test_category_menu_entries = get_menu_entry_categories(request).get("Test") assert any(me.text == "OK" for me in test_category_menu_entries)
def get_menu_entries(context): return sorted(itertools.chain(*( c.entries for c in menu.get_menu_entry_categories(request=context["request"]).values() )), key=(lambda m: m.text))
def get_menu_entry_categories(context): return menu.get_menu_entry_categories(request=context["request"])
def test_menu_entries(rf): request = rf.get("/") with replace_modules([ATestModule]): test_category_menu_entries = get_menu_entry_categories(request).get("Test") assert any(me.text == "OK" for me in test_category_menu_entries)