perf: slimmer and faster before_tests
This commit is contained in:
parent
c10e4977c3
commit
9daea6fa6c
@ -1,7 +1,6 @@
|
||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# License: GNU General Public License v3. See license.txt
|
||||
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.utils import add_days, flt, get_datetime_str, nowdate
|
||||
@ -15,8 +14,9 @@ def before_tests():
|
||||
frappe.clear_cache()
|
||||
# complete setup if missing
|
||||
from frappe.desk.page.setup_wizard.setup_wizard import setup_complete
|
||||
|
||||
if not frappe.db.a_row_exists("Company"):
|
||||
current_year = now_datetime().year
|
||||
if not frappe.get_list("Company"):
|
||||
setup_complete({
|
||||
"currency" :"USD",
|
||||
"full_name" :"Test User",
|
||||
@ -34,13 +34,15 @@ def before_tests():
|
||||
"chart_of_accounts" : "Standard",
|
||||
"domains" : ["Manufacturing"],
|
||||
})
|
||||
_enable_all_domains()
|
||||
|
||||
frappe.db.sql("delete from `tabLeave Allocation`")
|
||||
frappe.db.sql("delete from `tabLeave Application`")
|
||||
frappe.db.sql("delete from `tabSalary Slip`")
|
||||
frappe.db.sql("delete from `tabItem Price`")
|
||||
|
||||
enable_all_roles_and_domains()
|
||||
_enable_all_roles_for_admin()
|
||||
|
||||
set_defaults_for_tests()
|
||||
|
||||
frappe.db.commit()
|
||||
@ -119,22 +121,36 @@ def format_ces_api(data, param):
|
||||
|
||||
def enable_all_roles_and_domains():
|
||||
""" enable all roles and domain for testing """
|
||||
# add all roles to users
|
||||
domains = frappe.get_all("Domain")
|
||||
_enable_all_domains()
|
||||
_enable_all_roles_for_admin()
|
||||
|
||||
|
||||
def _enable_all_domains():
|
||||
domains = frappe.get_all("Domain", pluck="name")
|
||||
if not domains:
|
||||
return
|
||||
frappe.get_single('Domain Settings').set_active_domains(domains)
|
||||
|
||||
|
||||
def _enable_all_roles_for_admin():
|
||||
from frappe.desk.page.setup_wizard.setup_wizard import add_all_roles_to
|
||||
frappe.get_single('Domain Settings').set_active_domains(\
|
||||
[d.name for d in domains])
|
||||
|
||||
all_roles = set(frappe.db.get_values("Role", pluck="name"))
|
||||
admin_roles = set(frappe.db.get_values("Has Role",
|
||||
{"parent": "Administrator"}, fieldname="role", pluck="role"))
|
||||
|
||||
if all_roles.difference(admin_roles):
|
||||
add_all_roles_to('Administrator')
|
||||
|
||||
def set_defaults_for_tests():
|
||||
selling_settings = frappe.get_single("Selling Settings")
|
||||
selling_settings.customer_group = get_root_of("Customer Group")
|
||||
selling_settings.territory = get_root_of("Territory")
|
||||
selling_settings.save()
|
||||
|
||||
def set_defaults_for_tests():
|
||||
defaults = {
|
||||
"customer_group": get_root_of("Customer Group"),
|
||||
"territory": get_root_of("Territory"),
|
||||
}
|
||||
frappe.db.set_single_value("Selling Settings", defaults)
|
||||
for key, value in defaults.items():
|
||||
frappe.db.set_default(key, value)
|
||||
frappe.db.set_single_value("Stock Settings", "auto_insert_price_list_rate_if_missing", 0)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user