Пример #1
0
    def test_amount_left(self):
        """
        Tests the amount_left property
        """
        r = models.Receivable(qty=Decimal(100),
                              bill=self.bill,
                              date=get_date(),
                              method=self.payment_method,
                              comment='')
        r.save()
        # No payments yet
        self.assertEquals(r.amount_left, Decimal(100))

        # Partial payment
        models.Payment(receivable=r,
                       date=get_date(),
                       qty=Decimal(60),
                       method=self.payment_method).save()
        self.assertEquals(r.amount_left, Decimal(40))

        # Full payment
        models.Payment(receivable=r,
                       date=get_date(),
                       qty=Decimal(40),
                       method=self.payment_method).save()
        self.assertEquals(r.amount_left, Decimal(0))
Пример #2
0
    def test_receivable_detail(self):
        t = models.Receivable(qty=Decimal(100),
                              bill=self.bill,
                              date=get_date(),
                              method=self.payment_method,
                              received=True,
                              comment='Comentario comentario')
        t.save()
        p = models.Payment(receivable=t,
                           date=get_date(),
                           qty=Decimal("66.66"),
                           method=self.payment_method,
                           comment='Otro comentario')
        p.save()

        r = self.c.get(
            reverse("receivable_detail", args=(t.id,)))
        self.assertContains(r, t.bill.number)
        self.assertContains(r, t.date)
        self.assertContains(r, t.qty)
        self.assertContains(r, t.amount_left)
        self.assertContains(r, t.method.descripcion)
        self.assertContains(r, "Cobrado" if t.received else "No Cobrado")
        self.assertContains(r, t.comment)

        self.assertContains(r, p.date)
        self.assertContains(r, p.qty)
        self.assertContains(r, p.method.descripcion)
        self.assertContains(r, p.comment)
Пример #3
0
    def test_days_left(self):
        """
        Tests the days_left property
        """
        r = models.Receivable(qty=Decimal(100),
                              bill=self.bill,
                              date=get_date(),
                              method=self.payment_method,
                              comment='')
        self.assertEquals(r.days_left, 0)

        r = models.Receivable(qty=Decimal(100),
                              bill=self.bill,
                              date=get_date() + timedelta(days=5),
                              method=self.payment_method,
                              comment='')
        self.assertEquals(r.days_left, 5)
Пример #4
0
 def test_unicode(self):
     """
     Tests the amount_left property
     """
     r = models.Receivable(qty=Decimal(100),
                           bill=self.bill,
                           date=get_date(),
                           method=self.payment_method,
                           comment='')
     self.assertEquals(
         unicode(r), "{}/{} - ${}".format(r.bill.number, r.date,
                                          r.amount_left))
Пример #5
0
    def test_index_no_items_left(self):
        t = models.Receivable(qty=Decimal(100),
                              bill=self.bill,
                              date=get_date(),
                              method=self.payment_method,
                              received=True,
                              comment='')
        t.save()

        r = self.c.get(
            reverse("accounts_receivable_index", args=(self.company.id,)))
        self.assertContains(r, "No hay cuentas por cobrar")
Пример #6
0
    def test_payments(self):
        """
        Tests the payments property
        """
        r = models.Receivable(qty=Decimal(100),
                              bill=self.bill,
                              date=get_date(),
                              method=self.payment_method,
                              comment='')
        r.save()

        payment = models.Payment(receivable=r,
                                 date=get_date(),
                                 qty=Decimal(60),
                                 method=self.payment_method)
        payment.save()

        self.assertEquals(list(r.payments), [payment])
Пример #7
0
    def test_index_single_item(self):
        t = models.Receivable(qty=Decimal(100),
                              bill=self.bill,
                              date=get_date(),
                              method=self.payment_method,
                              comment='')
        t.save()
        models.Payment(receivable=t,
                       date=get_date(),
                       qty=Decimal("66.66"),
                       method=self.payment_method).save()

        r = self.c.get(
            reverse("accounts_receivable_index", args=(self.company.id,)))
        self.assertContains(r, "danger")  # CSS class
        self.assertContains(r, t.bill.number)
        self.assertContains(r, t.date)
        self.assertContains(r, t.qty)
        self.assertContains(r, t.amount_left)