From d6698ebc680c8886c7863fac81b6e41cb3bb335f Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 23 Jul 2026 15:18:36 -0700 Subject: [PATCH] add test --- netbox/utilities/tests/test_counters.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/netbox/utilities/tests/test_counters.py b/netbox/utilities/tests/test_counters.py index 6edef1dc7..5c1ed0ba5 100644 --- a/netbox/utilities/tests/test_counters.py +++ b/netbox/utilities/tests/test_counters.py @@ -76,6 +76,10 @@ class CountersTestCase(TestCase): device_type = device1.device_type self.assertEqual(device_type.device_count, 2) + # The Device must have tracked children for the suppression to be meaningful; otherwise the + # assertions below would pass trivially with nothing to suppress + self.assertEqual(device1.interfaces.count(), 2) + # Wrap update_counter so the real counter logic still runs while we record each call with patch('utilities.counters.update_counter', wraps=update_counter) as mock_update: device1.delete() @@ -101,9 +105,13 @@ class CountersTestCase(TestCase): object. Counter updates for children whose parent belongs to that QuerySet must be suppressed, while counters on surviving related objects are still updated. """ - device_type = Device.objects.get(name='Device 1').device_type + device1 = Device.objects.get(name='Device 1') + device_type = device1.device_type self.assertEqual(device_type.device_count, 2) + # The Device must have tracked children for the suppression to be meaningful + self.assertEqual(device1.interfaces.count(), 2) + # Wrap update_counter so the real counter logic still runs while we record each call with patch('utilities.counters.update_counter', wraps=update_counter) as mock_update: Device.objects.filter(name='Device 1').delete()