コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
 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))
コード例 #4
0
 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))
コード例 #5
0
 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))
コード例 #6
0
 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)
コード例 #7
0
 def test_init_ok_1(self) -> None:
     obj = CesionesPeriodoEntry(**self.valid_kwargs)
     self.assertTrue(obj.monto_cedido_eq_dte_monto_total)