test: cover customer and supplier naming setter gating

This commit is contained in:
Mihir Kandoi
2026-08-11 16:10:15 +05:30
parent 94320a9928
commit 909e7b1457
2 changed files with 45 additions and 2 deletions

View File

@@ -1,9 +1,30 @@
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
# import frappe
from unittest.mock import patch
import frappe
from erpnext.tests.utils import ERPNextTestSuite
class TestBuyingSettings(ERPNextTestSuite):
pass
def test_unrelated_change_does_not_update_supplier_metadata(self):
settings = frappe.get_single("Buying Settings")
settings.allow_multiple_items = not settings.allow_multiple_items
with patch("erpnext.utilities.naming.set_by_naming_series") as set_by_naming_series:
settings.save()
set_by_naming_series.assert_not_called()
def test_supplier_metadata_updates_when_related_settings_change(self):
settings = frappe.get_single("Buying Settings")
settings.supp_master_name = (
"Supplier Name" if settings.supp_master_name == "Naming Series" else "Naming Series"
)
with patch("erpnext.utilities.naming.set_by_naming_series") as set_by_naming_series:
settings.save()
set_by_naming_series.assert_called_once()

View File

@@ -1,6 +1,8 @@
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from unittest.mock import patch
import frappe
from erpnext.tests.utils import ERPNextTestSuite
@@ -12,3 +14,23 @@ class TestSellingSettings(ERPNextTestSuite):
# if setup was completed correctly
default = frappe.db.get_single_value("Selling Settings", "maintain_same_rate_action")
self.assertEqual("Stop", default)
def test_unrelated_change_does_not_update_customer_metadata(self):
settings = frappe.get_single("Selling Settings")
settings.allow_multiple_items = not settings.allow_multiple_items
with patch("erpnext.utilities.naming.set_by_naming_series") as set_by_naming_series:
settings.save()
set_by_naming_series.assert_not_called()
def test_customer_metadata_updates_when_related_settings_change(self):
settings = frappe.get_single("Selling Settings")
settings.cust_master_name = (
"Customer Name" if settings.cust_master_name == "Naming Series" else "Naming Series"
)
with patch("erpnext.utilities.naming.set_by_naming_series") as set_by_naming_series:
settings.save()
set_by_naming_series.assert_called_once()