47 lines
2.0 KiB
Python
47 lines
2.0 KiB
Python
from types import SimpleNamespace
|
|||
|
|
import unittest
|
||
|
|
|
||
|
|
from trytond.modules.ncf_manager.ncf_manager import (
|
||
|
|
NCFManager, NCFManagerSequences)
|
||
|
|
from trytond.modules.ncf_manager.sequence import Sequence
|
||
|
|
|
||
|
|
|
||
|
|
class NcfManagerUnitTestCase(unittest.TestCase):
|
||
|
|
|
||
|
|
def test_manager_defaults_and_rec_name(self):
|
||
|
|
self.assertEqual(NCFManager.default_state(), 'draft')
|
||
|
|
manager = SimpleNamespace()
|
||
|
|
manager.id = 42
|
||
|
|
manager.company = SimpleNamespace(rec_name='ACME')
|
||
|
|
manager.app_number = 'APP001'
|
||
|
|
self.assertEqual(NCFManager.get_rec_name(manager, 'name'), 'ACME - APP001')
|
||
|
|
|
||
|
|
def test_sequence_defaults_and_rec_name(self):
|
||
|
|
self.assertEqual(NCFManagerSequences.default_state(), 'draft')
|
||
|
|
sequence = SimpleNamespace()
|
||
|
|
sequence.ncf_type_string = 'Factura de Credito Fiscal - B01'
|
||
|
|
self.assertEqual(
|
||
|
|
NCFManagerSequences.get_rec_name(sequence, 'name'),
|
||
|
|
'Factura de Credito Fiscal ')
|
||
|
|
|
||
|
|
def test_ir_sequence_on_change_values_for_ncf_type(self):
|
||
|
|
sequence = SimpleNamespace()
|
||
|
|
sequence.sequence_type = SimpleNamespace(name='Factura de Consumo')
|
||
|
|
self.assertEqual(Sequence.on_change_with_prefix(sequence), 'B02')
|
||
|
|
self.assertEqual(Sequence.on_change_with_padding(sequence), 8)
|
||
|
|
self.assertEqual(Sequence.on_change_with_name(sequence), 'Factura de Consumo')
|
||
|
|
|
||
|
|
def test_ir_sequence_quantities(self):
|
||
|
|
sequence = SimpleNamespace()
|
||
|
|
sequence.from_number = 10
|
||
|
|
sequence.until_number = 20
|
||
|
|
sequence.number_next = 12
|
||
|
|
self.assertEqual(Sequence.on_change_with_approved_qty(sequence), 11)
|
||
|
|
self.assertEqual(Sequence.on_change_with_remaining_qty(sequence), 9)
|
||
|
|
|
||
|
|
def test_unknown_ncf_type_has_empty_sequence_defaults(self):
|
||
|
|
sequence = SimpleNamespace()
|
||
|
|
sequence.sequence_type = SimpleNamespace(name='Unknown')
|
||
|
|
self.assertIsNone(Sequence.on_change_with_prefix(sequence))
|
||
|
|
self.assertEqual(Sequence.on_change_with_padding(sequence), 0)
|