how to test "render to template" functions in django? (TDD)
django, django-views, tdd, testing
Solution
One could test the following:
- Response code
- Template used
- Template contains some specific text
The code would look something like this:
from django.test import Client, TestCase
from django.urls import reverse
class TestPage(TestCase):
def setUp(self):
self.client = Client()
def test_index_page(self):
url = reverse('index')
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'index.html')
self.assertContains(response, 'Company Name XYZ')
Problem
How should I test these functions? All they do is render the html page and pass some objects to the html page. ``` def index(request): companies = Company.objects.filter(approved = True); return direct_to_template(request, 'home.html', {'companies': companies} ); ```