# -*- coding: utf-8 -*- # This file is part of the edocument-module for Tryton from m-ds.de. # The COPYRIGHT file at the top level of this repository contains the # full copyright notices and license terms. from trytond.tests.test_tryton import ModuleTestCase, with_transaction from trytond.pool import Pool from trytond.modules.edocument_uncefact.tests.test_module import get_invoice from unittest.mock import Mock from decimal import Decimal class EdocTestCase(ModuleTestCase): 'Test e-rechnung module' module = 'edocument_xrechnung' @with_transaction() def test_xrechn_export_xml(self): """ run export """ pool = Pool() Template = pool.get('edocument.xrechnung.invoice') Identifier = pool.get('party.identifier') Party = pool.get('party.party') Bank = pool.get('bank') BankAccount = pool.get('bank.account') BankNumber = pool.get('bank.account.number') invoice = get_invoice() invoice.party.get_xrechnung_route_id = Mock( return_value='xrechn-route-id-123') invoice.company.party.bank_accounts = [ Mock( spec=BankAccount, currency=invoice.currency, bank=Mock(spec=Bank, party=Mock(spec=Party, name='Bank')), owners=[invoice.company.party], numbers=[Mock(spec=BankNumber, type='other', number='123456')], )] invoice.description = 'description of invoice' invoice.comment = 'note line 1\nnote line 2' invoice.taxes[0].tax.rate = Decimal('0.1') invoice.identifiers = [ Mock( spec=Identifier, type='edoc_route_id', code='xrechn-route-id-123') ] template = Template(invoice) invoice_string = template.render('XRechnung-2.2') with open('xrechnung-test.xml', 'wt') as fhdl: fhdl.write(invoice_string.decode('utf8')) # end EdocTestCase del ModuleTestCase