|
1 | 1 | import datetime
|
| 2 | +import os |
2 | 3 | import unittest
|
3 | 4 |
|
4 | 5 | import django
|
@@ -396,3 +397,47 @@ def test_prettify_sql(self):
|
396 | 397 | self.panel.generate_stats(self.request, response)
|
397 | 398 | self.assertEqual(len(self.panel._queries), 1)
|
398 | 399 | self.assertEqual(pretty_sql, self.panel._queries[-1][1]["sql"])
|
| 400 | + |
| 401 | + @override_settings( |
| 402 | + DEBUG=True, |
| 403 | + ) |
| 404 | + def test_flat_template_information(self): |
| 405 | + """ |
| 406 | + Test case for when the query is used in a flat template hierarchy |
| 407 | + (without included templates). |
| 408 | + """ |
| 409 | + self.assertEqual(len(self.panel._queries), 0) |
| 410 | + |
| 411 | + users = User.objects.all() |
| 412 | + render(self.request, "sql/flat.html", {"users": users}) |
| 413 | + |
| 414 | + self.assertEqual(len(self.panel._queries), 1) |
| 415 | + |
| 416 | + query = self.panel._queries[0] |
| 417 | + template_info = query[1]["template_info"] |
| 418 | + template_name = os.path.basename(template_info["name"]) |
| 419 | + self.assertEqual(template_name, "flat.html") |
| 420 | + self.assertEqual(template_info["context"][2]["content"].strip(), "{{ users }}") |
| 421 | + self.assertEqual(template_info["context"][2]["highlight"], True) |
| 422 | + |
| 423 | + @override_settings( |
| 424 | + DEBUG=True, |
| 425 | + ) |
| 426 | + def test_nested_template_information(self): |
| 427 | + """ |
| 428 | + Test case for when the query is used in a nested template |
| 429 | + hierarchy (with included templates). |
| 430 | + """ |
| 431 | + self.assertEqual(len(self.panel._queries), 0) |
| 432 | + |
| 433 | + users = User.objects.all() |
| 434 | + render(self.request, "sql/nested.html", {"users": users}) |
| 435 | + |
| 436 | + self.assertEqual(len(self.panel._queries), 1) |
| 437 | + |
| 438 | + query = self.panel._queries[0] |
| 439 | + template_info = query[1]["template_info"] |
| 440 | + template_name = os.path.basename(template_info["name"]) |
| 441 | + self.assertEqual(template_name, "included.html") |
| 442 | + self.assertEqual(template_info["context"][0]["content"].strip(), "{{ users }}") |
| 443 | + self.assertEqual(template_info["context"][0]["highlight"], True) |
0 commit comments