Merge pull request #4406 from nabinhait/recurring_test_fix
[fix] Recurring test case fixed for the 1st day of the month
diff --git a/erpnext/controllers/recurring_document.py b/erpnext/controllers/recurring_document.py
index fa6c1cc..d34002b 100644
--- a/erpnext/controllers/recurring_document.py
+++ b/erpnext/controllers/recurring_document.py
@@ -85,12 +85,9 @@
# get last day of the month to maintain period if the from date is first day of its own month
# and to date is the last day of its own month
- if (cstr(get_first_day(ref_wrapper.from_date)) == \
- cstr(ref_wrapper.from_date)) and \
- (cstr(get_last_day(ref_wrapper.to_date)) == \
- cstr(ref_wrapper.to_date)):
- to_date = get_last_day(get_next_date(ref_wrapper.to_date,
- mcount))
+ if (cstr(get_first_day(ref_wrapper.from_date)) == cstr(ref_wrapper.from_date)) and \
+ (cstr(get_last_day(ref_wrapper.to_date)) == cstr(ref_wrapper.to_date)):
+ to_date = get_last_day(get_next_date(ref_wrapper.to_date, mcount))
else:
to_date = get_next_date(ref_wrapper.to_date, mcount)
diff --git a/erpnext/controllers/tests/test_recurring_document.py b/erpnext/controllers/tests/test_recurring_document.py
index 3d005ff..ef8d5fb 100644
--- a/erpnext/controllers/tests/test_recurring_document.py
+++ b/erpnext/controllers/tests/test_recurring_document.py
@@ -5,11 +5,10 @@
import frappe
import frappe.permissions
from erpnext.controllers.recurring_document import date_field_map
-from frappe.utils import getdate
+from frappe.utils import get_first_day, get_last_day, add_to_date, nowdate, getdate, add_days
+from erpnext.accounts.utils import get_fiscal_year
def test_recurring_document(obj, test_records):
- from frappe.utils import get_first_day, get_last_day, add_to_date, nowdate, getdate, add_days
- from erpnext.accounts.utils import get_fiscal_year
frappe.db.set_value("Print Settings", "Print Settings", "send_print_as_pdf", 1)
today = nowdate()
base_doc = frappe.copy_doc(test_records[0])
@@ -38,14 +37,15 @@
_test_recurring_document(obj, doc1, date_field, True)
# monthly without a first and last day period
- doc2 = frappe.copy_doc(base_doc)
- doc2.update({
- "from_date": today,
- "to_date": add_to_date(today, days=30)
- })
- doc2.insert()
- doc2.submit()
- _test_recurring_document(obj, doc2, date_field, False)
+ if getdate(today).day != 1:
+ doc2 = frappe.copy_doc(base_doc)
+ doc2.update({
+ "from_date": today,
+ "to_date": add_to_date(today, days=30)
+ })
+ doc2.insert()
+ doc2.submit()
+ _test_recurring_document(obj, doc2, date_field, False)
# quarterly
doc3 = frappe.copy_doc(base_doc)