Advertisement
Guest User

Untitled

a guest
Dec 4th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.52 KB | None | 0 0
  1. import logging
  2. import io
  3. #import PyPDF2
  4. from datetime import date
  5. from decimal import Decimal
  6. from django.contrib.auth.models import User, Permission
  7. from django.core.urlresolvers import reverse
  8. from django.test import TestCase
  9. from django.test.utils import override_settings
  10. from openpyxl.reader.excel import load_workbook
  11. from energycore.models.accounting import Invoice
  12. from energycore.tests.urls import PermissionHierarchyTestMixin, \
  13.     RetailAccessUrlTestMixin
  14. from energycore.tests.urls.accounting import AccountingAccessUrlTestMixin
  15. logger = logging.getLogger(__name__)
  16. class ExportViewUrlTest(AccountingAccessUrlTestMixin, TestCase):
  17.     view_name = 'accounting.invoices.export'
  18.     fixtures = [
  19.         'tests/auth/superuser.json',
  20.         'tests/auth/supervisor.json',
  21.         'tests/auth/user.json',
  22.         'tests/energycore/retail/client.json',
  23.         'tests/energycore/retail/clientsobject.json',
  24.         'tests/energycore/invoice_category/basic.json',
  25.         'tests/energycore/retail/client.json',
  26.         'tests/energycore/retail/clientsobject.json',
  27.         'tests/django_billy/products.json',
  28.         'tests/django_billy/invoice/simple.json',
  29.         'tests/energycore/accounting/invoice/no_billing.json',
  30.     ]
  31.     def setUp(self):
  32.         self.client.login(username='admin', password='test')
  33.     @override_settings(
  34.         INVOICE_EXPORT_TEMPLATES={
  35.             'simple': {
  36.                 'name': 'Szablon Podstawowy',
  37.                 'template': 'energyportal/accounting/invoices/export/simple.xml',
  38.                 'renderer': 'xml2xlsx',
  39.             },
  40.             'rewizor': {
  41.                 'name': 'Faktura Korygujaca',
  42.                 'template': 'energyportal/accounting/invoices/export/rewizor.epp',
  43.                 'renderer': ''
  44.             },
  45.         },
  46.         INVOICES_NUMBERING='{concurrent_number}'
  47.     )
  48.     def test_simple_xml2xmlsx(self):
  49.         response = self.client.post(reverse(self.view_name), data={
  50.             'report_template': 'simple',
  51.             'include_unapproved': True
  52.         })
  53.         self.assertEquals(response.status_code, 200)
  54.         sheet = io.BytesIO(response.content)
  55.         wb = load_workbook(sheet)
  56.         self.assertEquals(len(wb.worksheets), 1)
  57.         self.assertIn('Faktury', wb.get_sheet_names())
  58.         ws = wb.get_sheet_by_name('Faktury')
  59.         self.assertTrue(ws['A2'].value)
  60.     def test_rewizor_export(self):
  61.         response = self.client.post(reverse(self.view_name), data={
  62.             'report_template':'rewizor',
  63.             'include_unapproved': True
  64.         })
  65.         self.assertEquals(response.status_code, 200)
  66.         sheet = io.BytesIO(response.content)
  67.         wb = load_workbook(sheet)
  68.         self.asssertEquals(len(wb.worksheets), 1)
  69.         self.assertIn('Faktury', wb.get_sheet_names())
  70.         ws = wb.get_sheet_by_name('Faktury')
  71.         self.assertTrue(ws['A2'].value)
  72.  
  73. 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.
  74. 1. Klient zgłasza, że w polu XYZ tego XMLa eksportowanego to powinno być to i to
  75. 2. Zmieniamy szablon
  76. 3. Piszemy test jesdnostkowy/dopisujemy linijkę do już istniejących
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement