Update Wagtail test cases to match slim sidebar capabilities and implementation details

pull/7881/head
Thibaud Colas 2022-01-14 12:23:32 +00:00 zatwierdzone przez Matt Westcott
rodzic f2593e3022
commit 18c4d7c813
8 zmienionych plików z 24 dodań i 43 usunięć

Wyświetl plik

@ -92,7 +92,7 @@ class TestSearchAreaNoPagePermissions(BaseSearchAreaTestCase):
response = self.client.get('/admin/')
# The menu search bar should go to /customsearch/, not /admin/pages/search/
self.assertNotContains(response, reverse('wagtailadmin_pages:search'))
self.assertContains(response, 'action="/customsearch/"')
self.assertContains(response, '{"_type": "wagtail.sidebar.SearchModule", "_args": ["/customsearch/"]}')
def test_menu_search(self):
"""

Wyświetl plik

@ -20,7 +20,6 @@ class TestMenuRendering(TestCase, WagtailTestUtils):
self.request.user = self.create_superuser(username='admin')
self.user = self.login()
@override_settings(WAGTAIL_EXPERIMENTAL_FEATURES={"slim-sidebar"})
def test_remember_collapsed(self):
'''Sidebar should render with collapsed class applied.'''
# Sidebar should not be collapsed
@ -33,9 +32,9 @@ class TestMenuRendering(TestCase, WagtailTestUtils):
response = self.client.get(reverse('wagtailadmin_home'))
self.assertContains(response, 'sidebar-collapsed')
@override_settings(WAGTAIL_EXPERIMENTAL_FEATURES={})
def test_collapsed_only_with_feature_flag(self):
'''Sidebar should only remember its collapsed state with the right feature flag set.'''
@override_settings(WAGTAIL_EXPERIMENTAL_FEATURES={'legacy-sidebar'})
def test_not_collapsed_with_legacy(self):
'''Sidebar should only remember its collapsed state with the slim implementation.'''
# Sidebar should not be collapsed because the feature flag is not enabled
self.client.cookies['wagtail_sidebar_collapsed'] = '1'
response = self.client.get(reverse('wagtailadmin_home'))

Wyświetl plik

@ -41,26 +41,26 @@ class TestWorkflowMenus(TestCase, WagtailTestUtils):
def test_workflow_settings_and_reports_menus_are_shown_to_admin(self):
response = self.client.get('/admin/')
self.assertContains(response, 'href="/admin/workflows/list/"')
self.assertContains(response, 'href="/admin/workflows/tasks/index/"')
self.assertContains(response, 'href="/admin/reports/workflow/"')
self.assertContains(response, 'href="/admin/reports/workflow_tasks/"')
self.assertContains(response, '"url": "/admin/workflows/list/"')
self.assertContains(response, '"url": "/admin/workflows/tasks/index/"')
self.assertContains(response, '"url": "/admin/reports/workflow/"')
self.assertContains(response, '"url": "/admin/reports/workflow_tasks/"')
def test_workflow_settings_menus_are_not_shown_to_editor(self):
self.login(user=self.editor)
response = self.client.get('/admin/')
self.assertNotContains(response, 'href="/admin/workflows/list/"')
self.assertNotContains(response, 'href="/admin/workflows/tasks/index/"')
self.assertContains(response, 'href="/admin/reports/workflow/"')
self.assertContains(response, 'href="/admin/reports/workflow_tasks/"')
self.assertNotContains(response, '"url": "/admin/workflows/list/"')
self.assertNotContains(response, '"url": "/admin/workflows/tasks/index/"')
self.assertContains(response, '"url": "/admin/reports/workflow/"')
self.assertContains(response, '"url": "/admin/reports/workflow_tasks/"')
@override_settings(WAGTAIL_WORKFLOW_ENABLED=False)
def test_workflow_menus_are_hidden_when_workflows_are_disabled(self):
response = self.client.get('/admin/')
self.assertNotContains(response, 'href="/admin/workflows/list/"')
self.assertNotContains(response, 'href="/admin/workflows/tasks/index/"')
self.assertNotContains(response, 'href="/admin/reports/workflow/"')
self.assertNotContains(response, 'href="/admin/reports/workflow_tasks/"')
self.assertNotContains(response, '"url": "/admin/workflows/list/"')
self.assertNotContains(response, '"url": "/admin/workflows/tasks/index/"')
self.assertNotContains(response, '"url": "/admin/reports/workflow/"')
self.assertNotContains(response, '"url": "/admin/reports/workflow_tasks/"')
class TestWorkflowsIndexView(TestCase, WagtailTestUtils):

Wyświetl plik

@ -33,31 +33,23 @@ class TestHome(TestCase, WagtailTestUtils):
def test_admin_menu(self):
response = self.client.get(reverse('wagtailadmin_home'))
self.assertEqual(response.status_code, 200)
# check that media attached to menu items is correctly pulled in
# check that custom menu items (including classname / icon_name) are pulled in
self.assertContains(
response,
'<script src="/static/testapp/js/kittens.js"></script>',
html=True
)
# check that custom menu items (including classname / attrs parameters) are pulled in
self.assertContains(
response,
'<a href="http://www.tomroyal.com/teaandkittens/" class="icon icon-kitten" data-fluffy="yes">Kittens!</a>',
html=True
'{"name": "kittens", "label": "Kittens!", "icon_name": "kitten", "classnames": "kitten--test", "url": "http://www.tomroyal.com/teaandkittens/"}',
)
# Check that the explorer menu item is here, with the right start page.
self.assertContains(
response,
'data-explorer-start-page="1"'
'{"name": "explorer", "label": "Pages", "icon_name": "folder-open-inverse", "classnames": "", "url": "/admin/pages/"}, 1]'
)
# check that is_shown is respected on menu items
response = self.client.get(reverse('wagtailadmin_home') + '?hide-kittens=true')
self.assertNotContains(
response,
'<a href="http://www.tomroyal.com/teaandkittens/" class="icon icon-kitten" data-fluffy="yes">Kittens!</a>'
'{"name": "kittens", "label": "Kittens!", "icon_name": "kitten", "classnames": "kitten--test", "url": "http://www.tomroyal.com/teaandkittens/"}'
)
def test_dashboard_panels(self):

Wyświetl plik

@ -71,8 +71,6 @@ class TestSettingCreateView(BaseTestSettingView):
def test_get_edit(self):
response = self.get()
self.assertEqual(response.status_code, 200)
# there should be a menu item highlighted as active
self.assertContains(response, "menu-active")
def test_edit_invalid(self):
response = self.post(post_data={'foo': 'bar'})
@ -116,8 +114,6 @@ class TestSettingEditView(BaseTestSettingView):
def test_get_edit(self):
response = self.get()
self.assertEqual(response.status_code, 200)
# there should be a menu item highlighted as active
self.assertContains(response, "menu-active")
def test_non_existant_model(self):
response = self.client.get(reverse('wagtailsettings:edit', args=['test', 'foo', 1]))

Wyświetl plik

@ -19,4 +19,4 @@ class TestRegister(TestCase, WagtailTestUtils):
def test_icon(self):
admin = self.client.get(reverse('wagtailadmin_home'))
self.assertContains(admin, 'icon icon-tag')
self.assertContains(admin, 'icon-setting-tag')

Wyświetl plik

@ -1124,7 +1124,7 @@ class ImportantPages(BaseSetting):
'wagtailcore.Page', related_name="+", null=True, on_delete=models.SET_NULL)
@register_setting(icon="tag")
@register_setting(icon="icon-setting-tag")
class IconSetting(BaseSetting):
pass

Wyświetl plik

@ -1,6 +1,4 @@
from django import forms
from django.http import HttpResponse
from django.templatetags.static import static
from django.utils.safestring import mark_safe
import wagtail.admin.rich_text.editors.draftail.features as draftail_features
@ -42,10 +40,6 @@ hooks.register('before_serve_page', block_googlebot)
class KittensMenuItem(MenuItem):
@property
def media(self):
return forms.Media(js=[static('testapp/js/kittens.js')])
def is_shown(self, request):
return not request.GET.get('hide-kittens', False)
@ -55,8 +49,8 @@ def register_kittens_menu_item():
return KittensMenuItem(
'Kittens!',
'http://www.tomroyal.com/teaandkittens/',
classnames='icon icon-kitten',
attrs={'data-fluffy': 'yes'},
classnames='kitten--test',
icon_name='kitten',
order=10000
)