Ejemplo n.º 1
0
    def test_has_late_payments(self):
        client = self.create_client()
        today = localtoday().date()
        method = PaymentMethod.get_by_name(self.store, u'bill')

        # client does not have any payments
        self.assertFalse(
            InPaymentView.has_late_payments(self.store, client.person))

        # client has payments that are not overdue
        payment = self.create_payment(Payment.TYPE_IN,
                                      today + relativedelta(days=1),
                                      method=method)
        payment.group = self.create_payment_group()
        payment.group.payer = client.person
        self.assertFalse(
            InPaymentView.has_late_payments(self.store, client.person))

        # client has overdue payments
        payment = self.create_payment(Payment.TYPE_IN,
                                      today - relativedelta(days=2),
                                      method=method)
        payment.status = Payment.STATUS_PENDING
        payment.group = self.create_payment_group()
        payment.group.payer = client.person
        self.assertTrue(
            InPaymentView.has_late_payments(self.store, client.person))
Ejemplo n.º 2
0
    def test_has_late_payments(self):
        client = self.create_client()
        today = localtoday().date()
        method = PaymentMethod.get_by_name(self.store, u'bill')

        # client does not have any payments
        self.assertFalse(InPaymentView.has_late_payments(self.store,
                                                         client.person))

        # client has payments that are not overdue
        payment = self.create_payment(Payment.TYPE_IN,
                                      today + relativedelta(days=1),
                                      method=method)
        payment.group = self.create_payment_group()
        payment.group.payer = client.person
        self.assertFalse(InPaymentView.has_late_payments(self.store,
                                                         client.person))

        # client has overdue payments
        payment = self.create_payment(Payment.TYPE_IN,
                                      today - relativedelta(days=2),
                                      method=method)
        payment.status = Payment.STATUS_PENDING
        payment.group = self.create_payment_group()
        payment.group.payer = client.person
        self.assertTrue(InPaymentView.has_late_payments(self.store,
                                                        client.person))
Ejemplo n.º 3
0
    def test_find_pending(self):
        due_date = localtoday() + datetime.timedelta(-4), localtoday()
        for i in range(5):
            if i % 2 == 0:
                payment = self.create_payment(payment_type=Payment.TYPE_IN)
                payment.status = Payment.STATUS_PENDING
                payment.due_date = localtoday() + datetime.timedelta(-2)
            else:
                payment = self.create_payment(payment_type=Payment.TYPE_IN)
                payment.status = Payment.STATUS_PENDING
                payment.due_date = Date(localtoday())

        result = InPaymentView.find_pending(store=self.store, due_date=due_date)
        self.assertEquals(result.count(), 5)

        result = InPaymentView.find_pending(store=self.store, due_date=Date(localtoday()))
        self.assertEquals(result.count(), 2)
        result = InPaymentView.find_pending(store=self.store, due_date=None)
        self.assertEquals(result.count(), 7)
Ejemplo n.º 4
0
    def test_find_pending(self):
        for i in range(5):
            payment = self.create_payment(payment_type=Payment.TYPE_IN)
            payment.status = Payment.STATUS_PENDING
            if i % 2 == 0:
                payment.due_date = localtoday() + datetime.timedelta(-2)
            else:
                payment.due_date = Date(localtoday())

        # Between 4 days ago and today
        due_date = (localtoday() + datetime.timedelta(-4), localtoday())
        result = InPaymentView.find_pending(store=self.store,
                                            due_date=due_date)
        self.assertEqual(result.count(), 5)

        result = InPaymentView.find_pending(store=self.store,
                                            due_date=Date(localtoday()))
        self.assertEqual(result.count(), 2)
        result = InPaymentView.find_pending(store=self.store, due_date=None)
        self.assertEqual(result.count(), 7)
Ejemplo n.º 5
0
 def _collect_inpayments(self, start, end, day_events, store):
     for pv in InPaymentView.find_pending(store, (start, end)):
         date, ev = self._create_in_payment(pv)
         self._append_event(day_events, date, 'receivable', ev)
Ejemplo n.º 6
0
 def _collect_inpayments(self, start, end, day_events, store):
     for pv in InPaymentView.find_pending(store, (start, end)):
         date, ev = self._create_in_payment(pv)
         self._append_event(day_events, date, 'receivable', ev)