コード例 #1
0
def test_line_saved_from_new(session):
    """Assert that the payment is saved to the table."""
    payment_account = factory_payment_account()
    payment = factory_payment()
    payment_account.save()
    payment.save()
    invoice = factory_invoice(payment.id, payment_account.id)
    invoice.save()
    factory_invoice_reference(invoice.id).save()
    fee_schedule = FeeSchedule.find_by_filing_type_and_corp_type('CP', 'OTANN')
    line = factory_payment_line_item(invoice.id, fee_schedule_id=fee_schedule.fee_schedule_id)
    line.save()
    line = factory_payment_line_item(invoice.id, fee_schedule_id=fee_schedule.fee_schedule_id, status='DELETED')
    line.save()

    p = PaymentLineService.find_by_id(line.id)

    assert p is not None
    assert p.id is not None
    assert p.invoice_id is not None
    assert p.filing_fees is not None
    assert p.fee_schedule_id is not None
    assert p.gst is None
    assert p.pst is None
    assert p.line_item_status_code is not None
    assert p.priority_fees is None
    assert p.future_effective_fees is None
    invoice = Invoice.find_by_id(invoice.id)
    schema = InvoiceSchema()
    d = schema.dump(invoice)
    assert d.get('id') == invoice.id
    assert len(d.get('line_items')) == 1
コード例 #2
0
def test_create_invoice(session):
    """Test create_invoice."""
    pay_account = factory_payment_account(payment_system_code='BCOL',
                                          account_number='BCOL_ACC_1',
                                          bcol_user_id='test')
    pay_account.save()
    payment = factory_payment()
    payment.save()
    i = factory_invoice(payment=payment, payment_account=pay_account)
    i.save()
    fee_schedule = FeeSchedule.find_by_filing_type_and_corp_type('CP', 'OTANN')
    line = factory_payment_line_item(
        i.id, fee_schedule_id=fee_schedule.fee_schedule_id)
    line.save()
    line = PaymentLineItem.find_by_id(line.id)
    # payment_account: PaymentAccount, line_items: [PaymentLineItem], invoice_id: str, **kwargs
    inv = bcol_service.create_invoice(
        payment_account=pay_account,
        line_items=[line],
        invoice=i,
        filing_info={'folioNumber': '1234567890'},
        corp_type_code=i.corp_type_code,
        business_identifier=i.business_identifier)
    assert inv is not None
    assert inv.get('invoice_number') == 'TEST'
コード例 #3
0
ファイル: invoice.py プロジェクト: mengdong19/sbc-pay
    def asdict(self):
        """Return the invoice as a python dict."""
        payment_line_items = []
        for payment_line_item in self._payment_line_items:
            payment_line_items.append(
                PaymentLineItem.populate(payment_line_item).asdict())

        d = {
            'id': self._id,
            'created_by': self._created_by,
            'created_on': self._created_on,
            'updated_by': self._updated_by,
            'updated_on': self._updated_on,
            'invoice_number': self._invoice_number,
            'reference_number': self._reference_number,
            'invoice_status_code': self._invoice_status_code,
            'account_id': self._account_id,
            'payment_id': self._payment_id,
            'payment_date': self._payment_date,
            'total': self._total,
            'paid': self._paid,
            'refund': self._refund,
            'payment_line_items': payment_line_items
        }
        return d
コード例 #4
0
def test_line_saved_from_new(session):
    """Assert that the payment is saved to the table."""
    payment_account = factory_payment_account()
    payment = factory_payment()
    payment_account.save()
    payment.save()
    invoice = factory_invoice(payment.id, payment_account.id)
    invoice.save()
    fee_schedule = FeeSchedule.find_by_filing_type_and_corp_type('CP', 'OTANN')
    line = factory_payment_line_item(
        invoice.id, fee_schedule_id=fee_schedule.fee_schedule_id)
    line.save()

    p = PaymentLineService.find_by_id(line.id)

    assert p is not None
    assert p.id is not None
    assert p.invoice_id is not None
    assert p.filing_fees is not None
    assert p.fee_schedule_id is not None
    assert p.processing_fees is None
    assert p.service_fees is None
    assert p.gst is None
    assert p.pst is None
コード例 #5
0
def test_line_invalid_lookup(session):
    """Test Invalid lookup."""
    p = PaymentLineService.find_by_id(999)

    assert p is not None
    assert p.id is None