From c4edcf1532ca06181ccef3cfc513bab863b27cc0 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 1 Dec 2015 16:27:42 +0530 Subject: [PATCH] [fix] Recurring test case fixed for the 1st day of the month --- erpnext/controllers/recurring_document.py | 9 +++----- .../tests/test_recurring_document.py | 22 +++++++++---------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/erpnext/controllers/recurring_document.py b/erpnext/controllers/recurring_document.py index fa6c1cca40..d34002bbd4 100644 --- a/erpnext/controllers/recurring_document.py +++ b/erpnext/controllers/recurring_document.py @@ -85,12 +85,9 @@ def make_new_document(ref_wrapper, date_field, posting_date): # 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 3d005ffdc6..ef8d5fbf08 100644 --- a/erpnext/controllers/tests/test_recurring_document.py +++ b/erpnext/controllers/tests/test_recurring_document.py @@ -5,11 +5,10 @@ from __future__ import unicode_literals 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 @@ def test_recurring_document(obj, test_records): _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)