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'
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)
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')
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)
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'
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)