def _test(i): self.assertEquals( i + 1, webnotes.conn.sql( """select count(*) from `tabSales Invoice` where recurring_id=%s and docstatus=1""", base_si.doc.recurring_id)[0][0]) next_date = add_months(base_si.doc.posting_date, no_of_months) manage_recurring_invoices(next_date=next_date, commit=False) recurred_invoices = webnotes.conn.sql( """select name from `tabSales Invoice` where recurring_id=%s and docstatus=1 order by name desc""", base_si.doc.recurring_id) self.assertEquals(i + 2, len(recurred_invoices)) new_si = webnotes.bean("Sales Invoice", recurred_invoices[0][0]) for fieldname in [ "convert_into_recurring_invoice", "recurring_type", "repeat_on_day_of_month", "notification_email_address" ]: self.assertEquals(base_si.doc.fields.get(fieldname), new_si.doc.fields.get(fieldname)) self.assertEquals(new_si.doc.posting_date, unicode(next_date)) self.assertEquals( new_si.doc.invoice_period_from_date, unicode( add_months(base_si.doc.invoice_period_from_date, no_of_months))) if first_and_last_day: self.assertEquals( new_si.doc.invoice_period_to_date, unicode( get_last_day( add_months(base_si.doc.invoice_period_to_date, no_of_months)))) else: self.assertEquals( new_si.doc.invoice_period_to_date, unicode( add_months(base_si.doc.invoice_period_to_date, no_of_months))) self.assertEquals( getdate(new_si.doc.posting_date).day, base_si.doc.repeat_on_day_of_month) return new_si
def _test(i): self.assertEquals( i + 1, webnotes.conn.sql( """select count(*) from `tabSales Invoice` where recurring_id=%s and docstatus=1""", base_si.doc.recurring_id, )[0][0], ) next_date = add_months(base_si.doc.posting_date, no_of_months) manage_recurring_invoices(next_date=next_date, commit=False) recurred_invoices = webnotes.conn.sql( """select name from `tabSales Invoice` where recurring_id=%s and docstatus=1 order by name desc""", base_si.doc.recurring_id, ) self.assertEquals(i + 2, len(recurred_invoices)) new_si = webnotes.bean("Sales Invoice", recurred_invoices[0][0]) for fieldname in [ "convert_into_recurring_invoice", "recurring_type", "repeat_on_day_of_month", "notification_email_address", ]: self.assertEquals(base_si.doc.fields.get(fieldname), new_si.doc.fields.get(fieldname)) self.assertEquals(new_si.doc.posting_date, unicode(next_date)) self.assertEquals( new_si.doc.invoice_period_from_date, unicode(add_months(base_si.doc.invoice_period_from_date, no_of_months)), ) if first_and_last_day: self.assertEquals( new_si.doc.invoice_period_to_date, unicode(get_last_day(add_months(base_si.doc.invoice_period_to_date, no_of_months))), ) else: self.assertEquals( new_si.doc.invoice_period_to_date, unicode(add_months(base_si.doc.invoice_period_to_date, no_of_months)), ) return new_si