예제 #1
0
def it_can_post_an_xml_invoice_with_tax():
    from recuro.recurly_parser import Invoice
    from recurly_parse_spec import recurly_successful_payment
    invoice = Invoice(recurly_successful_payment)
    invoice.get_tax_details()
    resp, content = invoice.save()
    assert resp['status'] == '200'
예제 #2
0
def it_can_post_an_xml_invoice_with_tax():
    from recuro.recurly_parser import Invoice
    from recurly_parse_spec import recurly_successful_payment
    invoice = Invoice(recurly_successful_payment)
    invoice.get_tax_details()
    resp, content = invoice.save()
    assert resp['status'] == '200'
예제 #3
0
def it_should_contact_recurly_to_get_further_invoice_details():
    xero_invoice = Invoice(recurly_successful_payment)
    xero_invoice.get_tax_details()

    assert_equals(xero_invoice.vat_number, "123456")
    assert_equals(xero_invoice.subtotal_in_cents, 900)
    assert_equals(xero_invoice.tax_in_cents, 180)
    assert_equals(xero_invoice.total_in_cents, 1080)
예제 #4
0
def it_should_contact_recurly_to_get_further_invoice_details():
    xero_invoice = Invoice(recurly_successful_payment)
    xero_invoice.get_tax_details()

    assert_equals(xero_invoice.vat_number, "123456")
    assert_equals(xero_invoice.subtotal_in_cents, 900)
    assert_equals(xero_invoice.tax_in_cents, 180)
    assert_equals(xero_invoice.total_in_cents, 1080)
예제 #5
0
def it_translates_successful_payment_in_to_invoice_object():
    xero_invoice = Invoice(recurly_successful_payment)
    assert_equals(xero_invoice.amount_in_cents, 1080)
    assert_equals(xero_invoice.contact_number, "3-test-20120424T152301")
    assert_equals(xero_invoice.invoice_date, "2012-04-25T11:59:44Z")
    assert_equals(xero_invoice.status, 'PAID')
    assert_equals(xero_invoice.invoice_ref, 'RECURLY1356')
예제 #6
0
def it_should_output_xero_invoice_xml():
    # See http://blog.xero.com/developer/api/invoices/
    xero_invoice = Invoice(recurly_successful_payment)
    xero_xml = xero_invoice.to_xml()
    doc = etree.fromstring(xero_xml)
    assert len(doc) > 0

    # Check the simple elements, which just have plain text as
    # their content, and no nested XML elements.
    simple_elements = dict(InvoiceNumber='RECURLY1356',
                           Type='ACCREC',
                           Date="2012-04-25",
                           DueDate="2012-04-25",
                           CurrencyCode='USD')
    for element, value in simple_elements.items():
        assert_equals(doc.xpath("//%s" % element)[0].text, value)

    # Check the more complex, nested, elements.
    assert_equals(
        doc.xpath("//Contact/ContactNumber")[0].text, "3-test-20120424T152301")
    assert_equals(len(doc.xpath("//LineItem")), 1)
예제 #7
0
def it_can_post_an_xml_invoice_without_tax():
    from recuro.recurly_parser import Invoice
    from recurly_parse_spec import recurly_successful_payment
    invoice = Invoice(recurly_successful_payment)
    invoice.get_tax_details()
    invoice.vat_number = None
    invoice.tax_in_cents = 0
    resp, content = invoice.save()
    print repr(content)
    assert resp['status'] == '200'
예제 #8
0
def it_should_output_xero_invoice_xml():
    # See http://blog.xero.com/developer/api/invoices/
    xero_invoice = Invoice(recurly_successful_payment)
    xero_xml = xero_invoice.to_xml()
    doc = etree.fromstring(xero_xml)
    assert len(doc) > 0

    # Check the simple elements, which just have plain text as
    # their content, and no nested XML elements.
    simple_elements = dict(
        InvoiceNumber='RECURLY1356',
        Type='ACCREC',
        Date="2012-04-25",
        DueDate="2012-04-25",
        CurrencyCode='USD'
    )
    for element,value in simple_elements.items():
        assert_equals(doc.xpath("//%s" % element)[0].text, value)

    # Check the more complex, nested, elements.
    assert_equals(doc.xpath("//Contact/ContactNumber")[0].text,
        "3-test-20120424T152301")
    assert_equals(len(doc.xpath("//LineItem")), 1)
예제 #9
0
def it_can_post_an_xml_invoice_without_tax():
    from recuro.recurly_parser import Invoice
    from recurly_parse_spec import recurly_successful_payment
    invoice = Invoice(recurly_successful_payment)
    invoice.get_tax_details()
    invoice.vat_number = None
    invoice.tax_in_cents = 0
    resp, content = invoice.save()
    print repr(content)
    assert resp['status'] == '200'