fix failing tests
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 3b46372..693513d 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -609,11 +609,14 @@
def set_payment_schedule(self):
due_date = self.due_date or get_due_date(self.posting_date)
- self.append("payment_schedule", {
- "due_date": due_date,
- "invoice_portion": 100,
- "payment_amount": self.grand_total
- })
+
+ if self.get("payment_terms_template"):
+ data = get_payment_terms(self.payment_terms_template, self.posting_date, self.grand_total)
+ for item in data:
+ self.append("payment_schedule", item)
+ else:
+ data = dict(due_date=due_date, invoice_portion=100, payment_amount=self.grand_total)
+ self.append("payment_schedule", data)
def set_due_date(self):
self.due_date = max([d.due_date for d in self.get("payment_schedule")])
@@ -845,4 +848,4 @@
elif term.due_date_based_on == "Month(s) after the end of the invoice month":
due_date = add_months(get_last_day(posting_date), term.credit_months)
- return due_date
\ No newline at end of file
+ return due_date
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index ff6166d..c0bd633 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -9,9 +9,9 @@
from erpnext.selling.doctype.sales_order.sales_order \
import make_material_request, make_delivery_note, make_sales_invoice, WarehouseRequired
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
-from erpnext.controllers.accounts_controller import get_payment_terms
from frappe.tests.test_permissions import set_user_permission_doctypes
+
class TestSalesOrder(unittest.TestCase):
def tearDown(self):
frappe.set_user("Administrator")
@@ -64,25 +64,22 @@
self.assertRaises(frappe.ValidationError, make_sales_invoice, so.name)
- so.update(
- {"payment_schedule": get_payment_terms(
- "_Test Payment Term Template", so.transaction_date, so.grand_total
- )}
- )
+ so.update({"payment_terms_template": "_Test Payment Term Template"})
so.save()
so.submit()
si = make_sales_invoice(so.name)
- self.assertEqual(si.payment_schedule[0].payment_amount, 500.0)
- self.assertEqual(si.payment_schedule[0].due_date.strftime(DATE_FORMAT), so.transaction_date)
- self.assertEqual(si.payment_schedule[1].payment_amount, 500.0)
- self.assertEqual(si.payment_schedule[1].due_date.strftime(DATE_FORMAT), add_days(so.transaction_date, 30))
-
self.assertEquals(len(si.get("items")), len(so.get("items")))
self.assertEquals(len(si.get("items")), 1)
si.insert()
+
+ self.assertEqual(si.payment_schedule[0].payment_amount, 500.0)
+ self.assertEqual(si.payment_schedule[0].due_date, so.transaction_date)
+ self.assertEqual(si.payment_schedule[1].payment_amount, 500.0)
+ self.assertEqual(si.payment_schedule[1].due_date, add_days(so.transaction_date, 30))
+
si.submit()
si1 = make_sales_invoice(so.name)
@@ -153,7 +150,6 @@
so = make_sales_order()
self.assertEqual(get_reserved_qty(), existing_reserved_qty + 10)
-
dn = create_dn_against_so(so.name, 15)
self.assertEqual(get_reserved_qty(), existing_reserved_qty)
@@ -209,7 +205,6 @@
make_stock_entry(target="_Test Warehouse - _TC", qty=10, rate=100)
make_stock_entry(item="_Test Item Home Desktop 100", target="_Test Warehouse - _TC", qty=10, rate=100)
-
existing_reserved_qty_item1 = get_reserved_qty("_Test Item")
existing_reserved_qty_item2 = get_reserved_qty("_Test Item Home Desktop 100")