diff --git a/.gitignore b/.gitignore index d581a55..a5effd7 100644 --- a/.gitignore +++ b/.gitignore @@ -57,4 +57,5 @@ docs/_build/ target/ -.idea \ No newline at end of file +.idea +tests/fixtures/dist/*.pdf \ No newline at end of file diff --git a/setup.py b/setup.py index 7469476..c647ea9 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -from distutils.core import setup, Extension, Command +from setuptools import setup import os with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as readme: diff --git a/simple.py b/simple.py deleted file mode 100644 index 32a75df..0000000 --- a/simple.py +++ /dev/null @@ -1,43 +0,0 @@ -from datetime import datetime -from decimal import Decimal - -from pyinvoice.models import InvoiceInfo, ServiceProviderInfo, ClientInfo, Item, Transaction -from pyinvoice.templates import SimpleInvoice - - -doc = SimpleInvoice('test.pdf') - -doc.is_paid = True - -doc.invoice_info = InvoiceInfo('1024', datetime.now(), datetime.now()) - -doc.service_provider_info = ServiceProviderInfo( - name='PyInvoice', - street='My Street', - city='My City', - state='My State', - country='My Country', - post_code='222222', - vat_tax_number='Vat/Tax number' -) - -doc.client_info = ClientInfo( - email='My Email', - client_id='My Client Id', - name='Client Name', - street='Client Street', - city='Client City', - state='Client State', - country='Client country', - post_code='222222' -) - -doc.add_item(Item('Item', 'Item desc', 1, '1.1')) -doc.add_item(Item('Item', 'Item desc', 2, '2.2')) -doc.add_item(Item('Item', 'Item desc', 3, '3.3')) -doc.set_item_tax_rate(20) # 20% - -doc.add_transaction(Transaction('Paypal', 111, datetime.now(), 1)) -doc.add_transaction(Transaction('Strip', 222, datetime.now(), 2)) - -doc.finish() \ No newline at end of file diff --git a/tests/fixtures/dist/empty.txt b/tests/fixtures/dist/empty.txt new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_templates.py b/tests/test_templates.py index e69de29..d04042f 100644 --- a/tests/test_templates.py +++ b/tests/test_templates.py @@ -0,0 +1,49 @@ +import os +import unittest +from datetime import datetime + +from pyinvoice.models import InvoiceInfo, ServiceProviderInfo, ClientInfo, Item, Transaction +from pyinvoice.templates import SimpleInvoice + + +class TestSimpleInvoice(unittest.TestCase): + def setUp(self): + self.file_base_dir = os.path.dirname(os.path.realpath(__file__)) + + def test_simple(self): + doc = SimpleInvoice(os.path.join(self.file_base_dir, 'fixtures/dist/simple.pdf')) + + doc.is_paid = True + + doc.invoice_info = InvoiceInfo('1024', datetime.now(), datetime.now()) + + doc.service_provider_info = ServiceProviderInfo( + name='PyInvoice', + street='My Street', + city='My City', + state='My State', + country='My Country', + post_code='222222', + vat_tax_number='Vat/Tax number' + ) + + doc.client_info = ClientInfo( + email='My Email', + client_id='My Client Id', + name='Client Name', + street='Client Street', + city='Client City', + state='Client State', + country='Client country', + post_code='222222' + ) + + doc.add_item(Item('Item', 'Item desc', 1, '1.1')) + doc.add_item(Item('Item', 'Item desc', 2, '2.2')) + doc.add_item(Item('Item', 'Item desc', 3, '3.3')) + doc.set_item_tax_rate(20) # 20% + + doc.add_transaction(Transaction('Paypal', 111, datetime.now(), 1)) + doc.add_transaction(Transaction('Strip', 222, datetime.now(), 2)) + + doc.finish() \ No newline at end of file