示例#1
0
def two_pages_of_invoices(db, settings):
    allowed_states = [
        Invoice.STATES.ISSUED, Invoice.STATES.PAID, Invoice.STATES.CANCELED
    ]
    return InvoiceFactory.create_batch(
        settings.API_PAGE_SIZE * 2,
        state=factory.Sequence(
            lambda n: allowed_states[n % len(allowed_states)]))
示例#2
0
def two_pages_of_invoices(db, settings):
    from silver.models import Invoice
    from silver.fixtures.factories import InvoiceFactory

    allowed_states = [
        Invoice.STATES.ISSUED, Invoice.STATES.PAID, Invoice.STATES.CANCELED
    ]
    return InvoiceFactory.create_batch(
        settings.API_PAGE_SIZE * 2,
        state=factory.Sequence(
            lambda n: allowed_states[n % len(allowed_states)]))
示例#3
0
    def handle(self, *args, **options):
        proforma = ProformaFactory.create(
            proforma_entries=[DocumentEntryFactory.create()],
            state=Proforma.STATES.ISSUED)
        proforma.create_invoice()

        invoice = InvoiceFactory.create(
            invoice_entries=[DocumentEntryFactory.create()],
            state=Invoice.STATES.ISSUED,
            related_document=None)
        TransactionFactory.create(state=Transaction.States.Settled,
                                  invoice=invoice,
                                  payment_method__customer=invoice.customer,
                                  proforma=None)
        InvoiceFactory.create_batch(
            size=3,
            invoice_entries=[DocumentEntryFactory.create()],
            state=Invoice.STATES.PAID,
            related_document=None)
        InvoiceFactory.create_batch(
            size=3,
            invoice_entries=[DocumentEntryFactory.create()],
            state=Invoice.STATES.DRAFT,
            related_document=None)

        InvoiceFactory.create_batch(
            size=3,
            invoice_entries=[DocumentEntryFactory.create()],
            state=Invoice.STATES.CANCELED,
            related_document=None)
示例#4
0
    def test_invoice_overdue_since_last_month_queryset(self):
        invoices = InvoiceFactory.create_batch(3)

        invoices[0].due_date = date.today().replace(day=1)
        invoices[0].issue()

        invoices[1].due_date = date.today() - timedelta(days=31)
        invoices[1].issue()

        queryset = Invoice.objects.overdue_since_last_month()

        assert queryset.count() == 1
        assert invoices[1] in queryset
示例#5
0
    def test_invoice_overdue_queryset(self):
        invoices = InvoiceFactory.create_batch(3)

        invoices[0].due_date = date.today() - timedelta(days=1)
        invoices[0].issue()

        invoices[1].due_date = date.today() - timedelta(days=3)
        invoices[1].issue()

        invoices[2].due_date = date.today() - timedelta(days=31)
        invoices[2].issue()
        invoices[2].pay()

        queryset = Invoice.objects.overdue()

        assert queryset.count() == 2
        for invoice in invoices[:2]:
            assert invoice in queryset
示例#6
0
    def test_invoice_due_this_month_queryset(self):
        invoices = InvoiceFactory.create_batch(4)

        invoices[0].due_date = date.today().replace(day=20)
        invoices[0].issue()

        invoices[1].due_date = date.today().replace(day=1)
        invoices[1].issue()

        invoices[2].due_date = date.today() - timedelta(days=31)
        invoices[2].issue()

        invoices[3].issue()
        invoices[3].cancel()

        queryset = Invoice.objects.due_this_month()

        assert queryset.count() == 2
        for invoice in invoices[:2]:
            assert invoice in queryset
示例#7
0
    def test_invoice_due_today_queryset(self):
        invoices = InvoiceFactory.create_batch(5)

        invoices[0].due_date = date.today()
        invoices[0].save()

        invoices[1].due_date = date.today()
        invoices[1].issue()

        invoices[2].due_date = date.today() - timedelta(days=1)
        invoices[2].issue()
        invoices[2].pay()

        invoices[3].due_date = date.today()
        invoices[3].issue()
        invoices[3].cancel()

        invoices[4].due_date = date.today() + timedelta(days=1)
        invoices[4].issue()

        queryset = Invoice.objects.due_today()

        assert queryset.count() == 1
        assert invoices[1] in queryset