def test_showurl(self): """ See whether we can generate a show url. """ # Create a cluster pc = PaymentCluster(pk=self.get_transaction_id()) pc.create_cluster(**self.default_data) self.assertTrue(pc.payment_url())
def test_createcluster(self): pc = PaymentCluster(pk=self.get_transaction_id()) pc.create_cluster(**self.default_data) pc.save() self.assertTrue(pc.cluster_key) self.assertTrue(pc.cluster_id)
def test_report(self): """ Test payment cluster status reports. """ # Create a cluster pc = PaymentCluster(pk=self.get_transaction_id()) pc.create_cluster(**self.default_data) pc.update_status() self.assertFalse(pc.paid) self.assertFalse(pc.closed)
def test_status_success(self): # Create a cluster pc = PaymentCluster(pk=self.get_transaction_id()) pc.create_cluster(**self.default_data) transaction_id = pc.transaction_id url = self.status_change_url url += '?' + urlencode({'merchant_transaction_id': transaction_id}) response = self.client.get(url) self.failUnlessEqual(response.status_code, 200)
def test_createclusterunicode(self): """ Test creating a cluster with some unicode data Regression test. """ pc = PaymentCluster(pk=self.get_transaction_id()) self.default_data.update({'client_firstname': u'Margr\xe8t'}) pc.create_cluster(**self.default_data) pc.save() self.assertTrue(pc.cluster_key) self.assertTrue(pc.cluster_id)
def create_payment(self): """ Create payment object for order. """ order = self.object if order.payment_cluster: payment_cluster = order.payment_cluster logger.info(u'Found existing payment cluster %s, using this one', payment_cluster) return payment_cluster assert order.customer customer = order.customer # We want the customer's data - not the order shipping details address = customer.get_address() full_address = u'%s\n%s' \ % (address.postal_address, address.postal_address2) data = { "merchant_transaction_id": order.order_number, "client_id" : customer.pk, "price" : order.get_price(), "cur_price" : "eur", "client_company" : customer.company, "client_email" : customer.email, "client_firstname" : customer.first_name, "client_lastname" : customer.last_name, "client_address" : full_address, "client_zip" : address.zip_code, "client_city" : address.city, "client_country" : address.country.iso, "client_language" : customer.language, "description" : unicode(order), "days_pay_period": 14 } payment = PaymentCluster() payment.create_cluster(**data) logger.debug(u'Created new payment cluster %s, saving', payment) order.payment_cluster = payment # Make sure we update the order state to (payment) pending order.state = ORDER_STATE_PENDING order.save() return payment