diff --git a/readthedocs/rtd_tests/tests/test_views.py b/readthedocs/rtd_tests/tests/test_views.py index d7bf77c310b..188147866c3 100644 --- a/readthedocs/rtd_tests/tests/test_views.py +++ b/readthedocs/rtd_tests/tests/test_views.py @@ -7,6 +7,7 @@ from django.urls import reverse from django.utils import timezone from django_dynamic_fixture import get, new +from django.core.cache import cache from readthedocs.builds.constants import EXTERNAL, LATEST from readthedocs.builds.models import Build, Version @@ -359,3 +360,22 @@ def test_generated_csv_data(self): self.assertEqual(len(body), 23) self.assertEqual(body[0][1], 'advertising') self.assertEqual(body[-1][1], 'hello world') + + +class TestHomepageCache(TestCase): + + def setUp(self): + cache.clear() + + def tearDown(self): + cache.clear() + + def test_homepage_queries(self): + with self.assertNumQueries(1): + r = self.client.get('/') + self.assertEqual(r.status_code, 200) + + # Cache + with self.assertNumQueries(0): + r = self.client.get('/') + self.assertEqual(r.status_code, 200) diff --git a/readthedocs/templates/homepage.html b/readthedocs/templates/homepage.html index 07bb88f13bb..eebda222276 100644 --- a/readthedocs/templates/homepage.html +++ b/readthedocs/templates/homepage.html @@ -114,9 +114,9 @@