mirror of
https://github.com/django-components/django-components.git
synced 2025-11-22 23:35:22 +00:00
34 lines
1 KiB
Python
34 lines
1 KiB
Python
from unittest.mock import Mock
|
|
|
|
from django.template import Context
|
|
from django.template.response import TemplateResponse
|
|
from django.test import SimpleTestCase
|
|
|
|
from django_components.middleware import ComponentDependencyMiddleware
|
|
|
|
# Create middleware instance
|
|
response_stash = None
|
|
middleware = ComponentDependencyMiddleware(get_response=lambda _: response_stash)
|
|
|
|
|
|
# TODO: Use this class to manage component registry cleanup before/after tests.
|
|
class BaseTestCase(SimpleTestCase):
|
|
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")
|