mirror of
https://github.com/django-components/django-components.git
synced 2025-08-04 06:18:17 +00:00
Only render dependencies that are used of a specific page (#52)
Co-authored-by: rbeard0330 <@dul2k3BKW6m>
This commit is contained in:
parent
cc8db8056e
commit
57a5aa0f4b
11 changed files with 2576 additions and 99 deletions
|
@ -1,7 +1,43 @@
|
|||
from django.test import SimpleTestCase
|
||||
from unittest.mock import Mock
|
||||
|
||||
from django.template import Context
|
||||
from django.template.response import TemplateResponse
|
||||
from django.test import SimpleTestCase, TestCase
|
||||
|
||||
from django_components.middleware import ComponentDependencyMiddleware
|
||||
|
||||
# Create middleware instance
|
||||
response_stash = None
|
||||
middleware = ComponentDependencyMiddleware(get_response=lambda _: response_stash)
|
||||
|
||||
|
||||
class Django30CompatibleSimpleTestCase(SimpleTestCase):
|
||||
def assertHTMLEqual(self, left, right):
|
||||
left = left.replace(' type="text/javascript"', '')
|
||||
super(Django30CompatibleSimpleTestCase, self).assertHTMLEqual(left, right)
|
||||
|
||||
def assertInHTML(self, needle, haystack, count=None, msg_prefix=''):
|
||||
haystack = haystack.replace(' type="text/javascript"', '')
|
||||
super().assertInHTML(needle, haystack, count, msg_prefix)
|
||||
|
||||
|
||||
class Django30CompatibleTestCase(Django30CompatibleSimpleTestCase, TestCase):
|
||||
pass
|
||||
|
||||
|
||||
request = Mock()
|
||||
mock_template = Mock()
|
||||
|
||||
|
||||
def create_and_process_template_response(template, context=None, use_middleware=True):
|
||||
context = context if context is not None else Context({})
|
||||
mock_template.render = lambda context, _: template.render(context)
|
||||
response = TemplateResponse(request, mock_template, context)
|
||||
if use_middleware:
|
||||
response.render()
|
||||
global response_stash
|
||||
response_stash = response
|
||||
response = middleware(request)
|
||||
else:
|
||||
response.render()
|
||||
return response.content.decode('utf-8')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue