Example #1
0
    def test_payment(self):
        payment = Payment.objects.create(
            payer=self.node1, recipient=self.node2, amount=D('1.00'))
        self.assertEquals(payment.status, 'pending')
        payment.attempt()
        unicode(payment)
        
        self.reload()
        payment = Payment.objects.get(pk=payment.id)

        # High-level checks.
        self.failUnless(audit.all_accounts_check())
        self.failUnless(audit.all_payments_check())
        
        # Fine-grained checks.
        self.assertEquals(payment.status, 'completed')
        self.failUnless(payment.last_attempted_at >= payment.submitted_at)
        self.assertEquals(self.node1_creditline.balance, D('-1.0'))
        self.assertEquals(self.node2_creditline.balance, D('1.0'))
        entries = self.account.entries.all()
        self.assertEquals(len(entries), 1)
        entry = entries[0]
        self.assertEquals(
            entry.amount, D('1.0') * self.node2_creditline.bal_mult)
        self.assertEquals(entry.date, payment.last_attempted_at)
        entries = payment.entries.all()
        self.assertEquals(len(entries), 1)
Example #2
0
    def test_payment(self):
        payment = Payment.objects.create(payer=self.node1,
                                         recipient=self.node2,
                                         amount=D('1.00'))
        self.assertEquals(payment.status, 'pending')
        payment.attempt()
        unicode(payment)

        self.reload()
        payment = Payment.objects.get(pk=payment.id)

        # High-level checks.
        self.failUnless(audit.all_accounts_check())
        self.failUnless(audit.all_payments_check())

        # Fine-grained checks.
        self.assertEquals(payment.status, 'completed')
        self.failUnless(payment.last_attempted_at >= payment.submitted_at)
        self.assertEquals(self.node1_creditline.balance, D('-1.0'))
        self.assertEquals(self.node2_creditline.balance, D('1.0'))
        entries = self.account.entries.all()
        self.assertEquals(len(entries), 1)
        entry = entries[0]
        self.assertEquals(entry.amount,
                          D('1.0') * self.node2_creditline.bal_mult)
        self.assertEquals(entry.date, payment.last_attempted_at)
        entries = payment.entries.all()
        self.assertEquals(len(entries), 1)
Example #3
0
    def _payment(self, payer, recipient, amount, succeed=None):
        payment = Payment.objects.create(
            payer=payer, recipient=recipient, amount=amount)
        payment.attempt()
        self.reload()

        if succeed is not None:
            correct_status = succeed and 'completed' or 'failed'
            self.assertEquals(payment.status, correct_status)
        self.failUnless(audit.all_accounts_check())
        self.failUnless(audit.all_payments_check())
Example #4
0
    def _payment(self, payer, recipient, amount, succeed=None):
        payment = Payment.objects.create(
            payer=payer, recipient=recipient, amount=amount)
        payment.attempt()
        self.reload()

        if succeed is not None:
            correct_status = succeed and 'completed' or 'failed'
            self.assertEquals(payment.status, correct_status)
        self.failUnless(audit.all_accounts_check())
        self.failUnless(audit.all_payments_check())