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))
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)
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)
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))
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")
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])
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)