fixes #8842 and adds tests

This commit is contained in:
tunde
2017-05-16 00:00:44 +01:00
parent 7e9b70eac8
commit 2505e62198
2 changed files with 50 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ import frappe
__version__ = '8.0.26'
def get_default_company(user=None):
'''Get default company for user'''
from frappe.defaults import get_user_default_as_list
@@ -19,12 +20,14 @@ def get_default_company(user=None):
return default_company
def get_default_currency():
'''Returns the currency of the default company'''
company = get_default_company()
if company:
return frappe.db.get_value('Company', company, 'default_currency')
def get_company_currency(company):
'''Returns the default company currency'''
if not frappe.flags.company_currency:
@@ -33,11 +36,13 @@ def get_company_currency(company):
frappe.flags.company_currency[company] = frappe.db.get_value('Company', company, 'default_currency')
return frappe.flags.company_currency[company]
def set_perpetual_inventory(enable=1):
accounts_settings = frappe.get_doc("Accounts Settings")
accounts_settings.auto_accounting_for_stock = enable
accounts_settings.save()
def encode_company_abbr(name, company):
'''Returns name encoded with company abbreviation'''
company_abbr = frappe.db.get_value("Company", company, "abbr")
@@ -46,4 +51,6 @@ def encode_company_abbr(name, company):
if parts[-1].lower() != company_abbr.lower():
parts.append(company_abbr)
return " - ".join([parts[0], company_abbr])
return " - ".join(parts)

42
erpnext/test_init.py Normal file
View File

@@ -0,0 +1,42 @@
import unittest
import frappe
from erpnext import encode_company_abbr
import six.moves.range
test_records = frappe.get_test_records('Company')
class TestInit(unittest.TestCase):
def setUp(self):
self.company = frappe.new_doc("Company")
self.company.company_name = "COA from Existing Company"
self.company.abbr = "CFEC"
self.company.default_currency = "INR"
self.company.create_chart_of_accounts_based_on = "Existing Company"
self.company.existing_company = "_Test Company"
self.company.save()
def test_encode_company_abbr(self):
abbr = self.company.abbr
names = [
"Warehouse Name", "ERPNext Foundation India", "Gold - Member - {a}".format(a=abbr),
" - {a}".format(a=abbr), "ERPNext - Foundation - India",
"ERPNext Foundation India - {a}".format(a=abbr),
"No-Space-{a}".format(a=abbr), "- Warehouse"
]
expected_names = [
"Warehouse Name - {a}".format(a=abbr), "ERPNext Foundation India - {a}".format(a=abbr),
"Gold - Member - {a}".format(a=abbr), " - {a}".format(a=abbr),
"ERPNext - Foundation - India - {a}".format(a=abbr),
"ERPNext Foundation India - {a}".format(a=abbr), "No-Space-{a} - {a}".format(a=self.company.abbr),
"- Warehouse - {a}".format(a=abbr)
]
for i in range(len(names)):
enc_name = encode_company_abbr(names[i], self.company)
self.assertTrue(
enc_name == expected_names[i],
"{enc} is not same as {exp}".format(enc=enc_name, exp=expected_names[i])
)