Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import logging
- import io
- #import PyPDF2
- from datetime import date
- from decimal import Decimal
- from django.contrib.auth.models import User, Permission
- from django.core.urlresolvers import reverse
- from django.test import TestCase
- from django.test.utils import override_settings
- from openpyxl.reader.excel import load_workbook
- from energycore.models.accounting import Invoice
- from energycore.tests.urls import PermissionHierarchyTestMixin, \
- RetailAccessUrlTestMixin
- from energycore.tests.urls.accounting import AccountingAccessUrlTestMixin
- logger = logging.getLogger(__name__)
- class ExportViewUrlTest(AccountingAccessUrlTestMixin, TestCase):
- view_name = 'accounting.invoices.export'
- fixtures = [
- 'tests/auth/superuser.json',
- 'tests/auth/supervisor.json',
- 'tests/auth/user.json',
- 'tests/energycore/retail/client.json',
- 'tests/energycore/retail/clientsobject.json',
- 'tests/energycore/invoice_category/basic.json',
- 'tests/energycore/retail/client.json',
- 'tests/energycore/retail/clientsobject.json',
- 'tests/django_billy/products.json',
- 'tests/django_billy/invoice/simple.json',
- 'tests/energycore/accounting/invoice/no_billing.json',
- ]
- def setUp(self):
- self.client.login(username='admin', password='test')
- @override_settings(
- INVOICE_EXPORT_TEMPLATES={
- 'simple': {
- 'name': 'Szablon Podstawowy',
- 'template': 'energyportal/accounting/invoices/export/simple.xml',
- 'renderer': 'xml2xlsx',
- },
- 'rewizor': {
- 'name': 'Faktura Korygujaca',
- 'template': 'energyportal/accounting/invoices/export/rewizor.epp',
- 'renderer': ''
- },
- },
- INVOICES_NUMBERING='{concurrent_number}'
- )
- def test_simple_xml2xmlsx(self):
- response = self.client.post(reverse(self.view_name), data={
- 'report_template': 'simple',
- 'include_unapproved': True
- })
- self.assertEquals(response.status_code, 200)
- sheet = io.BytesIO(response.content)
- wb = load_workbook(sheet)
- self.assertEquals(len(wb.worksheets), 1)
- self.assertIn('Faktury', wb.get_sheet_names())
- ws = wb.get_sheet_by_name('Faktury')
- self.assertTrue(ws['A2'].value)
- def test_rewizor_export(self):
- response = self.client.post(reverse(self.view_name), data={
- 'report_template':'rewizor',
- 'include_unapproved': True
- })
- self.assertEquals(response.status_code, 200)
- sheet = io.BytesIO(response.content)
- wb = load_workbook(sheet)
- self.asssertEquals(len(wb.worksheets), 1)
- self.assertIn('Faktury', wb.get_sheet_names())
- ws = wb.get_sheet_by_name('Faktury')
- self.assertTrue(ws['A2'].value)
- W dalszej kolejności należy rozmawiać z klientem/biurem księgowym. A więc powyższe pytania Katarzyna Murawska zadaje pulsar/księgowość pulsar, a Bartłomiej Sterczewski dopisuje test dla faktury korygującej (analogicznie do tego napisanego w energycore.tests.urls.energycore.accoutning.invoices.export.ExportViewURLComarchTest.test_simple_invoice - trzeba tylko zmienić fixtures etc. A potem konsekwentnie z uporem maniaka realizować uwagi klienta, tj.
- 1. Klient zgłasza, że w polu XYZ tego XMLa eksportowanego to powinno być to i to
- 2. Zmieniamy szablon
- 3. Piszemy test jesdnostkowy/dopisujemy linijkę do już istniejących
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement