示例#1
0
        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
示例#2
0
        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