Add custom route tests to cover usage of the new render() method

pull/6370/head
Andy Babic 2020-09-01 22:18:41 +01:00
rodzic 8fd5d66756
commit 0bfc7e127c
3 zmienionych plików z 40 dodań i 2 usunięć

Wyświetl plik

@ -90,9 +90,31 @@ class TestRoutablePage(TestCase):
self.assertEqual(url, 'external-no-arg/')
def test_get_index_route_view(self):
response = self.client.get(self.routable_page.url)
with self.assertTemplateUsed('routablepagetests/routable_page_test.html'):
response = self.client.get(self.routable_page.url)
context = response.context_data
self.assertEqual(
(context['page'], context['self'], context.get('foo')),
(self.routable_page, self.routable_page, None)
)
self.assertContains(response, "DEFAULT PAGE TEMPLATE")
def test_get_render_method_route_view(self):
with self.assertTemplateUsed('routablepagetests/routable_page_test.html'):
response = self.client.get(self.routable_page.url + 'render-method-test/')
context = response.context_data
self.assertEqual(
(context['page'], context['self'], context['foo']),
(self.routable_page, None, 'bar')
)
def test_get_render_method_route_view_with_custom_template(self):
with self.assertTemplateUsed('routablepagetests/routable_page_test_alternate.html'):
response = self.client.get(self.routable_page.url + 'render-method-test-custom-template/')
context = response.context_data
self.assertEqual(
(context['page'], context['self'], context['foo']),
(self.routable_page, 1, 'fighters')
)
def test_get_routable_page_with_overridden_index_route(self):
page = self.home_page.add_child(

Wyświetl plik

@ -32,6 +32,21 @@ class RoutablePageTest(RoutablePage):
def override_name_test(self, request):
pass
@route(r'^render-method-test/$')
def render_method_test(self, request):
return self.render(
request,
context_overrides={'self': None, 'foo': 'bar'}
)
@route(r'^render-method-test-custom-template/$')
def render_method_test_custom_template(self, request):
return self.render(
request,
context_overrides={'self': 1, 'foo': 'fighters'},
template="routablepagetests/routable_page_test_alternate.html"
)
class RoutablePageWithOverriddenIndexRouteTest(RoutablePage):
@route(r'^$')