def testPaymentSuccessfulSignal(self): received_signals = [] def receive(sender, **kwargs): received_signals.append(kwargs.get("signal")) transaction_was_successful.connect(receive) resp = self.merchant.store(self.credit_card, options={"plan_id": "professional"}) self.assertEquals(received_signals, [transaction_was_successful])
def testPaymentSuccessfulSignal(self): received_signals = [] def receive(sender, **kwargs): received_signals.append(kwargs.get("signal")) transaction_was_successful.connect(receive) self.merchant.purchase(TEST_AMOUNT, self.address) self.assertEquals(received_signals, [transaction_was_successful])
def test_purchase_with_test_cards(self): # This test requires valid test numbers gateway = GlobalIrisGateway() if not gateway.test_mode: self.fail("MERCHANT_TEST_MODE must be true for running tests") for card in self._get_test_cards(): received_signals = [] def success(sender, **kwargs): received_signals.append(kwargs.get("signal")) transaction_was_successful.connect(success) def fail(sender, **kwargs): received_signals.append(kwargs.get("signal")) transaction_was_unsuccessful.connect(fail) # Cards with invalid numbers will get caught by billing code, not by # the gateway itself. try: gateway.validate_card(card) except CardNotSupported: self.assertNotEqual(card.expected_response_code, "00") continue # skip the rest response = gateway.purchase(Decimal("45.00"), card, options={ 'order_id': self.get_order_id(), }) actual_rc = response['response_code'] expected_rc = card.expected_response_code self.assertEqual( actual_rc, expected_rc, "%s != %s - card %s, message: %s" % (actual_rc, expected_rc, card.number, response['message'])) if card.expected_response_code == "00": self.assertEqual(response['status'], 'SUCCESS') self.assertEqual(received_signals, [transaction_was_successful]) else: self.assertEqual(response['status'], 'FAILURE') self.assertEqual(received_signals, [transaction_was_unsuccessful])
def test_purchase_with_test_cards(self): # This test requires valid test numbers gateway = GlobalIrisGateway() if not gateway.test_mode: self.fail("MERCHANT_TEST_MODE must be true for running tests") for card in self._get_test_cards(): received_signals = [] def success(sender, **kwargs): received_signals.append(kwargs.get("signal")) transaction_was_successful.connect(success) def fail(sender, **kwargs): received_signals.append(kwargs.get("signal")) transaction_was_unsuccessful.connect(fail) # Cards with invalid numbers will get caught by billing code, not by # the gateway itself. try: gateway.validate_card(card) except CardNotSupported: self.assertNotEqual(card.expected_response_code, "00") continue # skip the rest response = gateway.purchase(Decimal("45.00"), card, options={'order_id': self.get_order_id(), }) actual_rc = response['response_code'] expected_rc = card.expected_response_code self.assertEqual(actual_rc, expected_rc, "%s != %s - card %s, message: %s" % (actual_rc, expected_rc, card.number, response['message'])) if card.expected_response_code == "00": self.assertEqual(response['status'], 'SUCCESS') self.assertEqual(received_signals, [transaction_was_successful]) else: self.assertEqual(response['status'], 'FAILURE') self.assertEqual(received_signals, [transaction_was_unsuccessful])