test: cover selling settings toggle setter gating

This commit is contained in:
Mihir Kandoi
2026-08-11 16:22:21 +05:30
parent 136e00d513
commit c9f74e21a0

View File

@@ -34,3 +34,27 @@ class TestSellingSettings(ERPNextTestSuite):
settings.save()
set_by_naming_series.assert_called_once()
def test_unrelated_change_does_not_rewrite_toggle_setters(self):
settings = frappe.get_single("Selling Settings")
settings.allow_multiple_items = not settings.allow_multiple_items
with patch(
"erpnext.selling.doctype.selling_settings.selling_settings.make_property_setter"
) as make_property_setter:
settings.save()
make_property_setter.assert_not_called()
def test_toggle_setters_rewritten_when_related_settings_change(self):
settings = frappe.get_single("Selling Settings")
settings.hide_tax_id = not settings.hide_tax_id
settings.editable_bundle_item_rates = not settings.editable_bundle_item_rates
settings.enable_discount_accounting = not settings.enable_discount_accounting
with patch(
"erpnext.selling.doctype.selling_settings.selling_settings.make_property_setter"
) as make_property_setter:
settings.save()
self.assertEqual(make_property_setter.call_count, 11)