Skip to content

Commit 677aa51

Browse files
RealOrangeOnejeking3
authored andcommitted
Add assertNumQueries assertions to ensure no queries are run
Queries are always run when using a base model for some reason.
1 parent 68497f3 commit 677aa51

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

simple_history/tests/tests/test_models.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,8 @@ def test_history_diff_includes_changed_fields(self):
623623
p.question = "what's up, man?"
624624
p.save()
625625
new_record, old_record = p.history.all()
626-
delta = new_record.diff_against(old_record)
626+
with self.assertNumQueries(0):
627+
delta = new_record.diff_against(old_record)
627628
expected_change = ModelChange("question", "what's up?", "what's up, man")
628629
self.assertEqual(delta.changed_fields, ["question"])
629630
self.assertEqual(delta.old_record, old_record)
@@ -635,7 +636,8 @@ def test_history_diff_does_not_include_unchanged_fields(self):
635636
p.question = "what's up, man?"
636637
p.save()
637638
new_record, old_record = p.history.all()
638-
delta = new_record.diff_against(old_record)
639+
with self.assertNumQueries(0):
640+
delta = new_record.diff_against(old_record)
639641
self.assertNotIn("pub_date", delta.changed_fields)
640642

641643
def test_history_diff_includes_changed_fields_of_base_model(self):
@@ -644,7 +646,9 @@ def test_history_diff_includes_changed_fields_of_base_model(self):
644646
r.name = "DonnutsKing"
645647
r.save()
646648
new_record, old_record = r.history.all()
647-
delta = new_record.diff_against(old_record)
649+
# Two queries due to base lookup
650+
with self.assertNumQueries(2):
651+
delta = new_record.diff_against(old_record)
648652
expected_change = ModelChange("name", "McDonna", "DonnutsKing")
649653
self.assertEqual(delta.changed_fields, ["name"])
650654
self.assertEqual(delta.old_record, old_record)
@@ -664,7 +668,8 @@ def test_history_diff_with_excluded_fields(self):
664668
p.question = "what's up, man?"
665669
p.save()
666670
new_record, old_record = p.history.all()
667-
delta = new_record.diff_against(old_record, excluded_fields=("question",))
671+
with self.assertNumQueries(0):
672+
delta = new_record.diff_against(old_record, excluded_fields=("question",))
668673
self.assertEqual(delta.changed_fields, [])
669674
self.assertEqual(delta.changes, [])
670675

@@ -673,11 +678,13 @@ def test_history_diff_with_included_fields(self):
673678
p.question = "what's up, man?"
674679
p.save()
675680
new_record, old_record = p.history.all()
676-
delta = new_record.diff_against(old_record, included_fields=[])
681+
with self.assertNumQueries(0):
682+
delta = new_record.diff_against(old_record, included_fields=[])
677683
self.assertEqual(delta.changed_fields, [])
678684
self.assertEqual(delta.changes, [])
679685

680-
delta = new_record.diff_against(old_record, included_fields=["question"])
686+
with self.assertNumQueries(0):
687+
delta = new_record.diff_against(old_record, included_fields=["question"])
681688
self.assertEqual(delta.changed_fields, ["question"])
682689
self.assertEqual(len(delta.changes), 1)
683690

0 commit comments

Comments
 (0)