def test_bad_order_string(self): """ Add a bad OrderString value. According to Skipjack, OrderString cannot contain any of the following: "~`!@#$%^&*()_-+= Let's test this out... Testing reveals that, actually only the & character causes failure, so we're just inserting that character into the mix.. """ # Add an & into the description. data = copy.copy(self.base_data) data['OrderString'] ='$KU~Descripti&n~50.00~2~N~||' transaction = create_transaction(data) self.assertIsInstance(transaction, Transaction) self.assertFalse(transaction.is_approved) self.assertEqual(transaction.get_approved_display(), 'Declined') self.assertEqual(transaction.get_return_code_display(), 'Order string incorrect') # Removing expected parts of the order string... data['OrderString'] = 'Two pipes, no tilde...||' transaction = create_transaction(data) self.assertEqual(transaction.get_return_code_display(), 'Order string incorrect') data['OrderString'] = 'One pipe...|' transaction = create_transaction(data) self.assertEqual(transaction.get_return_code_display(), 'Order string incorrect') data['OrderString'] = 'Ending with 1 tilde, 2 pipes is ok...~||' transaction = create_transaction(data) self.assertEqual(transaction.get_return_code_display(), 'Success')
def test_success(self): """Successful Transaction.""" transaction = create_transaction(self.base_data) self.assertIsInstance(transaction, Transaction) self.assertTrue(transaction.is_approved) self.assertEqual(transaction.get_approved_display(), 'Approved') # Now remove the transaction from Skipjack... transaction.delete()
def test_missing_fields(self): """Remove some required fields.""" data = copy.copy(self.base_data) del data['ShipToPhone'] transaction = create_transaction(data) self.assertIsInstance(transaction, Transaction) self.assertFalse(transaction.is_approved) self.assertEqual(transaction.get_approved_display(), 'Declined') # Now remove the transaction from Skipjack... transaction.delete()
def test_amount_too_high(self): """ Test an amount that is too large for the test card. """ data = copy.copy(self.base_data) data['TransactionAmount'] = '5000.00' transaction = create_transaction(data) self.assertIsInstance(transaction, Transaction) self.assertFalse(transaction.is_approved) self.assertEqual(transaction.get_approved_display(), 'Declined') self.assertEqual(transaction.auth_decline_message, 'Authorization failed, card declined.') # Now remove the transaction from Skipjack... transaction.delete()
def test_bad_cvv2(self): """ Test an invalid CVV2 value. 'CVV2 Value supplied is invalid' """ data = copy.copy(self.base_data) data['CVV2'] = '123' transaction = create_transaction(data) self.assertIsInstance(transaction, Transaction) self.assertFalse(transaction.is_approved) self.assertEqual(transaction.get_approved_display(), 'Declined') self.assertEqual(transaction.auth_decline_message, 'CVV2 Value supplied is invalid') # Now remove the transaction from Skipjack... transaction.delete()