brotherton-erpnext/erpnext/regional/address_template/test_regional_address_template.py
Raffael Meyer 9aae0c27c2
feat(regional): a central place for regional address templates (#19862)
* feat: a central place for regional address templates

* set up address templates during install

* why don't the tests run?

* fix: remove unused variables, fix cwd

* fix: .get() dicts contents

* fix: choose the right default

* fix: fieldname is template, not html

* fix: import unittest

* fix: remove unnecessary code

* fix: ensure country exists

* fix: ensure country exists

* feat: test updating an existing template

* fix(regional): DuplicateEntryError in test_update_address_template

* refactor and set 'is_default'

* fix codacy

* fix: patch gst_fixes

* fix: patch update_address_template_for_india

Co-authored-by: Nabin Hait <nabinhait@gmail.com>
2020-04-08 08:56:57 +05:30

46 lines
1.4 KiB
Python

from __future__ import unicode_literals
from unittest import TestCase
import frappe
from erpnext.regional.address_template.setup import get_address_templates
from erpnext.regional.address_template.setup import update_address_template
def ensure_country(country):
if frappe.db.exists("Country", country):
return frappe.get_doc("Country", country)
else:
c = frappe.get_doc({
"doctype": "Country",
"country_name": country
})
c.insert()
return c
class TestRegionalAddressTemplate(TestCase):
def test_get_address_templates(self):
"""Get the countries and paths from the templates directory."""
templates = get_address_templates()
self.assertIsInstance(templates, list)
self.assertIsInstance(templates[0], tuple)
def test_create_address_template(self):
"""Create a new Address Template."""
country = ensure_country("Germany")
update_address_template(country.name, "TEST")
doc = frappe.get_doc("Address Template", country.name)
self.assertEqual(doc.template, "TEST")
def test_update_address_template(self):
"""Update an existing Address Template."""
country = ensure_country("Germany")
if not frappe.db.exists("Address Template", country.name):
template = frappe.get_doc({
"doctype": "Address Template",
"country": country.name,
"template": "EXISTING"
}).insert()
update_address_template(country.name, "NEW")
doc = frappe.get_doc("Address Template", country.name)
self.assertEqual(doc.template, "NEW")