Exemplo n.º 1
0
 def test_descuadre(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     self.assertEqual(0, asi.descuadre)
     ap3.euros = -300
     self.assertEqual(200, asi.descuadre)
Exemplo n.º 2
0
 def test_cuadra(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     self.assertEqual(True, asi.cuadra())
     ap3.euros = -300
     self.assertEqual(False, asi.cuadra())
Exemplo n.º 3
0
 def test_numerador(self):
     e = ContaSOL(primer_asiento=10)
     apu = APU(euros=5,
               cuenta='4',
               fecha=date(2010, 2, 1),
               concepto="Apu a")
     apu2 = APU(euros=5,
                cuenta='4',
                fecha=date(2010, 2, 1),
                concepto="Apu a")
     asi = Asiento(apuntes=[apu, apu2])
     asi.vincular(e, autonum=True)
     self.assertEqual(10, apu.asiento)
Exemplo n.º 4
0
 def test_add_rm(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.rm(ap3)
     self.assertRaises(ValueError, asi.rm, ap3)
     asi.add(ap3)
     self.assertRaises(ValueError, asi.add, ap3)
Exemplo n.º 5
0
 def test_generacion_xls(self):
     e = EntornoSOL()
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.vincular(e)
     f = StringIO()
     e.generar_xls_table('APU', f)
Exemplo n.º 6
0
    def test_eventos(self):
        def on_bind(tipo, entorno, obj):
            obj.manipulated = 1

        def on_unbind(tipo, entorno, obj):
            obj.manipulated = 2

        e = EntornoSOL()
        e.on_pre_bind += on_bind
        e.on_pre_unbind += on_unbind
        ap1 = APU()
        ap1.manipulated = 0
        ap1.euros = 1000
        e.bind(ap1)
        self.assertEqual(1, ap1.manipulated)
        e.unbind(ap1)
        self.assertEqual(ap1.manipulated, 2)
Exemplo n.º 7
0
 def test_sorted(self):
     apus = self.apuntes()
     s = APU.sort_table(apus)
     orden_esperado = ('primer', 'segundo', 'tercer', 'cuarto', 'quinto',
                       'sexto', 'septimo')
     for ap, q in zip(apus, orden_esperado):
         t = 'El %s apunte' % q
         self.assertEqual(ap.concepto, t)
Exemplo n.º 8
0
 def test_renumera(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -300
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.renumera()
     self.assertEquals([1, 2, 3], [ap.orden for ap in asi.apuntes])
     asi2 = Asiento(apuntes=[ap2, ap3, ap1])
     asi2.renumera()
     self.assertEquals([1, 2, 3], [ap.orden for ap in asi2.apuntes])
     self.assertEquals([3, 1, 2], [ap.orden for ap in asi.apuntes])
Exemplo n.º 9
0
 def test_asiento(self):
     e = EntornoSOL()
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.vincular(e)
     self.assertListEqual([e, e, e],
                          [ap1.entorno, ap2.entorno, ap3.entorno])
     asi.desvincular()
     self.assertListEqual([None, None, None],
                          [ap1.entorno, ap2.entorno, ap3.entorno])
Exemplo n.º 10
0
 def test_autocierre(self):
     e = ContaSOL()
     e.on_pre_bind += auto_crea_cuentas
     AutoAcumulador(e)
     for c, importe in (('43000000', 1000), ('70000000', -1000)):
         apu = APU(euros=importe,
                   cuenta=c,
                   fecha=date(2010, 2, 1),
                   concepto="Apu a")
         e.bind(apu)
     for c, importe in (('41000000', -500), ('60000000', 500)):
         apu = APU(euros=importe,
                   cuenta=c,
                   fecha=date(2010, 2, 2),
                   concepto="Apu b")
         e.bind(apu)
     for c, importe in (('43000000', -1000), ('57000000', 1000)):
         apu = APU(euros=importe,
                   cuenta=c,
                   fecha=date(2010, 3, 2),
                   concepto="Apu c")
         e.bind(apu)
     for c, importe in (('41000000', 500), ('57000000', -500)):
         apu = APU(euros=importe,
                   cuenta=c,
                   fecha=date(2010, 4, 2),
                   concepto="Apu d")
         e.bind(apu)
     print_diario(e.get_tabla_elemento('APU'))
     reg = e.auto_cierre('reg',
                         date(2010, 12, 31),
                         '12900001',
                         'Regularizar',
                         selector=solo_pyg)
     asi = reg[0]
     self.assertEqual(-500, asi.apuntes[-1].euros)
     asi.vincular(e)
     cie = e.auto_cierre('cie', date(2010, 12, 31), '90000001', 'Cierre')
     self.assertEqual(2, len(cie[0].apuntes))
     cie[0].vincular(e)
     print_diario(e.get_tabla_elemento('APU'))
Exemplo n.º 11
0
 def apuntes(self):
     apus = [
         (date(2014, 1, 4), 2, 1, 'El sexto apunte'),
         (date(2014, 1, 4), 2, 1, 'El septimo apunte'),
         (date(2014, 1, 2), 3, 1, 'El cuarto apunte'),
         (date(2014, 1, 2), 3, 2, 'El quinto apunte'),
         (date(2014, 1, 1), 1, 1, 'El primer apunte'),
         (date(2014, 1, 1), 1, 2, 'El segundo apunte'),
         (date(2014, 1, 1), 1, 3, 'El tercer apunte'),
     ]
     apus2 = []
     for ap in apus:
         apu = APU()
         apu.fecha = ap[0]
         apu.asiento = ap[1]
         apu.orden = ap[2]
         apu.concepto = ap[3]
         apus2.append(apu)
     return apus2
Exemplo n.º 12
0
 def test_reordena(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -300
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.renumera()
     ap2.orden = 100
     asi.reordena()
     self.assertEquals([1000, -300, -500], [ap.euros for ap in asi.apuntes])
     ap1.orden = 50
     asi.reordena()
     self.assertEquals([-300, 1000, -500], [ap.euros for ap in asi.apuntes])
Exemplo n.º 13
0
def crea_apu(**kwargs):
    apu = APU()
    for k, v in kwargs.iteritems():
        setattr(apu, k, v)
    return apu