From c3e1f0e3692e87e8f2c9385f4a24271dfab47138 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Sun, 27 Mar 2022 11:52:31 +0530 Subject: [PATCH] refactor: ignore mandatory fields during setup --- .../doctype/selling_settings/test_selling_settings.py | 9 +++++++-- erpnext/setup/install.py | 9 ++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/erpnext/selling/doctype/selling_settings/test_selling_settings.py b/erpnext/selling/doctype/selling_settings/test_selling_settings.py index fc6754a7c5..7290e685b2 100644 --- a/erpnext/selling/doctype/selling_settings/test_selling_settings.py +++ b/erpnext/selling/doctype/selling_settings/test_selling_settings.py @@ -1,9 +1,14 @@ # Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # See license.txt -# import frappe import unittest +import frappe + class TestSellingSettings(unittest.TestCase): - pass + def test_defaults_populated(self): + # Setup default values are not populated on migrate, this test checks + # if setup was completed correctly + default = frappe.db.get_single_value("Selling Settings", "maintain_same_rate_action") + self.assertEqual("Stop", default) diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py index 2b055d2dd3..8dae23db77 100644 --- a/erpnext/setup/install.py +++ b/erpnext/setup/install.py @@ -56,12 +56,11 @@ def set_single_defaults(): ) if default_values: try: - b = frappe.get_doc(dt, dt) + doc = frappe.get_doc(dt, dt) for fieldname, value in default_values: - b.set(fieldname, value) - b.save() - except frappe.MandatoryError: - pass + doc.set(fieldname, value) + doc.flags.ignore_mandatory = True + doc.save() except frappe.ValidationError: pass