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} ); ```

Original source