se adicionan pruebas para Ajuste Reemplazar y Eliminar

FossilOrigin-Name: 750ed4cb15a88abfe296f1d9b2e4013df95b76bf1dfd4ecca22e07b3c12aacf2
This commit is contained in:
bit4bit
2021-11-17 01:06:22 +00:00
parent 56c7e2c453
commit 0c28eea6e2
2 changed files with 111 additions and 4 deletions

View File

@@ -192,9 +192,12 @@ class DIANNominaXML:
# esten ordenados segun el anexo tecnico
self.fexml.placeholder_for('./ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent')
self.fexml.placeholder_for('./TipoNota', optional=True)
self.root_fragment = self.fexml
if xpath_ajuste is not None:
self.root_fragment = self.fexml.fragment(xpath_ajuste)
self.root_fragment.placeholder_for('./ReemplazandoPredecesor', optional=True)
self.root_fragment.placeholder_for('./EliminandoPredecesor', optional=True)
self.root_fragment.placeholder_for('./Novedad', optional=True)
self.root_fragment.placeholder_for('./Periodo')
self.root_fragment.placeholder_for('./NumeroSecuenciaXML')
@@ -385,16 +388,60 @@ class DIANNominaIndividual(DIANNominaXML):
class DIANNominaIndividualDeAjuste(DIANNominaXML):
class Reemplazar(DIANNominaXML):
@dataclass
class Predecesor:
numero: str
cune: str
fecha_generacion: str
def apply(self, fragment):
fragment.set_element('./Reemplazar/ReemplazandoPredecesor', None,
# NIAE090
NumeroPred = self.numero,
# NIAE191
CUNEPred = self.cune,
# NIAE192
FechaGenPred = self.fecha_generacion
)
def __init__(self):
super().__init__('NominaIndividualDeAjuste', './Reemplazar')
# NIAE214
self.root_fragment.set_element('TipoNota', '1')
self.root_fragment.set_element('./TipoNota', '1')
def asignar_predecesor(self, predecesor):
if not isinstance(predecesor, self.Predecesor):
raise ValueError("se espera tipo Predecesor")
predecesor.apply(self.fexml)
class Eliminar(DIANNominaXML):
@dataclass
class Predecesor:
numero: str
cune: str
fecha_generacion: str
def apply(self, fragment):
fragment.set_element('./Eliminar/EliminandoPredecesor', None,
# NIAE090
NumeroPred = self.numero,
# NIAE191
CUNEPred = self.cune,
# NIAE192
FechaGenPred = self.fecha_generacion
)
def __init__(self):
super().__init__('NominaIndividualDeAjuste', './Eliminar')
# NIAE214
self.root_fragment.set_element('TipoNota', '2')
self.root_fragment.set_element('./TipoNota', '2')
def asignar_predecesor(self, predecesor):
if not isinstance(predecesor, self.Predecesor):
raise ValueError("se espera tipo Eliminar.Predecesor")
predecesor.apply(self.fexml)
def __init__(self):
super().__init__('NominaIndividualDeAjuste')