def test_as_cesion_l2_ok_1(self) -> None: obj = CesionesPeriodoEntry(**self.valid_kwargs) expected_output = CesionL2( dte_key=cl_sii.dte.data_models.DteNaturalKey( emisor_rut=Rut('51532520-4'), tipo_dte=TipoDteEnum.FACTURA_ELECTRONICA, folio=3608460, ), seq=None, cedente_rut=Rut('51532520-4'), cesionario_rut=Rut('96667560-8'), fecha_cesion_dt=tz_utils.convert_naive_dt_to_tz_aware( dt=datetime(2019, 3, 7, 13, 32), tz=CesionL2.DATETIME_FIELDS_TZ, ), monto_cedido=256357, dte_receptor_rut=Rut('75320502-0'), dte_fecha_emision=date(2019, 2, 11), dte_monto_total=256357, fecha_ultimo_vencimiento=date(2019, 4, 12), cedente_razon_social='MI CAMPITO SA', cedente_email='*****@*****.**', cesionario_razon_social='POBRES SERVICIOS FINANCIEROS S.A.', cesionario_email='[email protected],[email protected]', ) obj_cesion_l2 = obj.as_cesion_l2() self.assertEqual(obj_cesion_l2, expected_output) self.assertIsNone(obj_cesion_l2.natural_key) self.assertEqual(obj_cesion_l2.alt_natural_key.dte_key.emisor_rut, obj.dte_vendedor_rut) self.assertEqual(obj_cesion_l2.alt_natural_key.cedente_rut, obj.cedente_rut) self.assertEqual(obj_cesion_l2.alt_natural_key.cesionario_rut, obj.cesionario_rut) self.assertEqual(obj_cesion_l2.alt_natural_key.fecha_cesion_dt, obj.fecha_cesion_dt) self.assertEqual(obj_cesion_l2.dte_receptor_rut, obj.dte_deudor_rut)
def test_as_dte_data_l1_ok_1(self) -> None: obj = CesionesPeriodoEntry(**self.valid_kwargs) dte_obj = cl_sii.dte.data_models.DteDataL1( emisor_rut=Rut('51532520-4'), tipo_dte=TipoDteEnum.FACTURA_ELECTRONICA, folio=3608460, receptor_rut=Rut('75320502-0'), fecha_emision_date=date(2019, 2, 11), monto_total=256357, ) self.assertEqual(obj.as_dte_data_l1(), dte_obj) self.assertEqual(dte_obj.emisor_rut, obj.dte_vendedor_rut) self.assertEqual(dte_obj.vendedor_rut, obj.dte_vendedor_rut) self.assertEqual(dte_obj.receptor_rut, obj.dte_deudor_rut) self.assertEqual(dte_obj.comprador_rut, obj.dte_deudor_rut)
def test_init_error_monto_cedido_2(self) -> None: self.valid_kwargs.update(dict( monto_cedido=self.valid_kwargs['dte_monto_total'] + 1, )) with self.assertRaises(ValueError) as cm: CesionesPeriodoEntry(**self.valid_kwargs) self.assertEqual( cm.exception.args, ('Value of "cesión" must be <= value of DTE.', 256358, 256357))
def test_init_error_monto_cedido_1(self) -> None: self.valid_kwargs.update(dict( monto_cedido=-1, )) with self.assertRaises(ValueError) as cm: CesionesPeriodoEntry(**self.valid_kwargs) self.assertEqual( cm.exception.args, ("Amount 'monto_cedido' must be >= 0.", -1))
def test_init_error_dte_tipo_dte_1(self) -> None: self.valid_kwargs.update(dict( dte_tipo_dte=TipoDteEnum.NOTA_CREDITO_ELECTRONICA, )) with self.assertRaises(ValueError) as cm: CesionesPeriodoEntry(**self.valid_kwargs) self.assertEqual( cm.exception.args, ("The \"tipo DTE\" in 'dte_tipo_dte' is not \"cedible\".", TipoDteEnum.NOTA_CREDITO_ELECTRONICA))
def test_init_ok_2(self) -> None: self.valid_kwargs.update(dict( monto_cedido=self.valid_kwargs['dte_monto_total'] - 1, )) obj = CesionesPeriodoEntry(**self.valid_kwargs) self.assertFalse(obj.monto_cedido_eq_dte_monto_total)
def test_init_ok_1(self) -> None: obj = CesionesPeriodoEntry(**self.valid_kwargs) self.assertTrue(obj.monto_cedido_eq_dte_monto_total)