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)