|
| 1 | +import os |
1 | 2 | import datetime
|
2 | 3 | import unittest
|
3 | 4 |
|
@@ -357,3 +358,47 @@ def test_regression_infinite_recursion(self):
|
357 | 358 |
|
358 | 359 | # ensure the stacktrace is populated
|
359 | 360 | self.assertTrue(len(query[1]["stacktrace"]) > 0)
|
| 361 | + |
| 362 | + @override_settings( |
| 363 | + DEBUG=True, |
| 364 | + ) |
| 365 | + def test_flat_template_information(self): |
| 366 | + """ |
| 367 | + Test case for when the query is used in a flat template hierarchy |
| 368 | + (without included templates). |
| 369 | + """ |
| 370 | + self.assertEqual(len(self.panel._queries), 0) |
| 371 | + |
| 372 | + users = User.objects.all() |
| 373 | + render(self.request, "sql/flat.html", {"users": users}) |
| 374 | + |
| 375 | + self.assertEqual(len(self.panel._queries), 1) |
| 376 | + |
| 377 | + query = self.panel._queries[0] |
| 378 | + template_info = query[1]["template_info"] |
| 379 | + template_name = os.path.basename(template_info["name"]) |
| 380 | + self.assertEqual(template_name, "flat.html") |
| 381 | + self.assertEqual(template_info["context"][2]["content"].strip(), "{{ users }}") |
| 382 | + self.assertEqual(template_info["context"][2]["highlight"], True) |
| 383 | + |
| 384 | + @override_settings( |
| 385 | + DEBUG=True, |
| 386 | + ) |
| 387 | + def test_nested_template_information(self): |
| 388 | + """ |
| 389 | + Test case for when the query is used in a nested template |
| 390 | + hierarchy (with included templates). |
| 391 | + """ |
| 392 | + self.assertEqual(len(self.panel._queries), 0) |
| 393 | + |
| 394 | + users = User.objects.all() |
| 395 | + render(self.request, "sql/nested.html", {"users": users}) |
| 396 | + |
| 397 | + self.assertEqual(len(self.panel._queries), 1) |
| 398 | + |
| 399 | + query = self.panel._queries[0] |
| 400 | + template_info = query[1]["template_info"] |
| 401 | + template_name = os.path.basename(template_info["name"]) |
| 402 | + self.assertEqual(template_name, "included.html") |
| 403 | + self.assertEqual(template_info["context"][0]["content"].strip(), "{{ users }}") |
| 404 | + self.assertEqual(template_info["context"][0]["highlight"], True) |
0 commit comments