예제 #1
0
 def test_payment_details(self):
     p1 = Payment(payee="me", subtask="T1000", value=123456)
     p2 = Payment(payee="you", subtask="T900", value=654321)
     self.assertNotEqual(p1.payee, p2.payee)
     self.assertNotEqual(p1.subtask, p2.subtask)
     self.assertNotEqual(p1.value, p2.value)
     self.assertEqual(p1.details, {})
     self.assertEqual(p1.details, p2.details)
     self.assertIsNot(p1.details, p2.details)
     p1.details['check'] = True
     self.assertTrue(p1.details['check'])
     self.assertNotIn('check', p2.details)
예제 #2
0
    def test_get_payments(self, *_):
        self.client = Client(datadir=self.path,
                             transaction_system=True,
                             connect_to_known_hosts=False,
                             use_docker_machine_manager=False,
                             use_monitor=False)

        payments = [
            Payment(subtask=uuid.uuid4(),
                    status=PaymentStatus.awaiting,
                    payee=str(uuid.uuid4()),
                    value=2 * 10**18,
                    created=time.time(),
                    modified=time.time()) for _ in xrange(2)
        ]

        db = Mock()
        db.get_newest_payment.return_value = payments

        self.client.transaction_system.payments_keeper.db = db
        received_payments = self.client.get_payments_list()

        self.assertEqual(len(received_payments), len(payments))

        for i in xrange(len(payments)):
            self.assertEqual(received_payments[i]['subtask'],
                             payments[i].subtask)
            self.assertEqual(received_payments[i]['status'],
                             payments[i].status.value)
            self.assertEqual(received_payments[i]['payee'],
                             unicode(payments[i].payee))
            self.assertEqual(received_payments[i]['value'],
                             unicode(payments[i].value))
예제 #3
0
    def test_create(self):
        p = Payment(payee="DEF",
                    subtask="xyz",
                    value=5,
                    status=PaymentStatus.awaiting)
        self.assertEquals(p.save(force_insert=True), 1)
        with self.assertRaises(IntegrityError):
            Payment.create(payee="DEF",
                           subtask="xyz",
                           value=5,
                           status=PaymentStatus.awaiting)
        Payment.create(payee="DEF",
                       subtask="xyz2",
                       value=4,
                       status=PaymentStatus.confirmed)
        Payment.create(payee="DEF2",
                       subtask="xyz4",
                       value=5,
                       status=PaymentStatus.sent)

        self.assertEqual(3, len([payment for payment in Payment.select()]))
예제 #4
0
 def test_default_fields(self):
     p = Payment()
     self.assertGreaterEqual(datetime.now(), p.created_date)
     self.assertGreaterEqual(datetime.now(), p.modified_date)