def setUp(self): if None in [SANDBOX_CLIENT_KEY, SANDBOX_SERVER_KEY]: self.skipTest("Live credentials not provided -- skipping tests") if not RUN_ALL_ACCEPTANCE_TESTS and \ self.VERSION != veritranspay.__version__: self.skipTest("Skipping this version of tests") expected = fixtures.CC_REQUEST self.expected = expected self.trans_details = request.TransactionDetails( order_id="".join([fake.random_letter() for _ in range(10)]), gross_amount=expected['transaction_details']['gross_amount']) self.cust_details = request.CustomerDetails( first_name=expected['customer_details']['first_name'], last_name=expected['customer_details']['last_name'], email=expected['customer_details']['email'], phone=expected['customer_details']['phone'], billing_address=request.Address( **expected['customer_details']['billing_address']), shipping_address=request.Address( **expected['customer_details']['shipping_address']) ) self.item_details = \ [request.ItemDetails(item_id=item['id'], price=item['price'], quantity=item['quantity'], name=item['name']) for item in expected['item_details']]
def test_serialization(self): ''' This test covers the serialization of ChargeRequest and all of it's subentities. ''' expected = fixtures.CC_REQUEST cc_payment = payment_types.CreditCard( bank=expected['credit_card']['bank'], token_id=expected['credit_card']['token_id'], bins=expected['credit_card']['bins']) trans_details = request.TransactionDetails( order_id=expected['transaction_details']['order_id'], gross_amount=expected['transaction_details']['gross_amount']) cust_details = request.CustomerDetails( first_name=expected['customer_details']['first_name'], last_name=expected['customer_details']['last_name'], email=expected['customer_details']['email'], phone=expected['customer_details']['phone'], billing_address=request.Address( **expected['customer_details']['billing_address']), shipping_address=request.Address( **expected['customer_details']['shipping_address']) ) item_details = [request.ItemDetails(item_id=item['id'], price=item['price'], quantity=item['quantity'], name=item['name']) for item in expected['item_details']] charge_req = request.ChargeRequest(charge_type=cc_payment, transaction_details=trans_details, customer_details=cust_details, item_details=item_details) actual = charge_req.serialize() self.assertEqual(actual, expected)
def test_init_args_with_defaults(self): ''' Make sure that our init args that have default values are set as attributes on the instance with their expected values ''' addr = request.Address(address=self.address, city=self.city, postal_code=self.postal_code) self.assertEqual(addr.address, self.address) self.assertEqual(addr.city, self.city) self.assertEqual(addr.postal_code, self.postal_code) self.assertEqual(addr.first_name, None) self.assertEqual(addr.last_name, None) self.assertEqual(addr.phone, None) self.assertEqual(addr.country_code, None)
def test_init_sets_attributes(self): ''' Make sure __init__ is persisting it's arguments as instance attributes. ''' addr = request.Address(first_name=self.first_name, last_name=self.last_name, address=self.address, city=self.city, postal_code=self.postal_code, phone=self.phone, country_code=self.country_code) self.assertEqual(addr.first_name, self.first_name) self.assertEqual(addr.last_name, self.last_name) self.assertEqual(addr.address, self.address) self.assertEqual(addr.city, self.city) self.assertEqual(addr.postal_code, self.postal_code) self.assertEqual(addr.phone, self.phone) self.assertEqual(addr.country_code, self.country_code)
def setUp(self): self.first_name = fake.first_name() self.last_name = fake.last_name() self.address = fake.address() self.city = fake.city() self.postal_code = fake.postcode() # note: we can't use fake-factory's phone_number() because # it can occasionally include extensions, which veritranspay' # documentation says they won't accept. self.phone = random.choice(fixtures.PHONE_NUMBERS) self.country_code = random.choice(fixtures.COUNTRY_CODES) self.complete_address = request.Address(first_name=self.first_name, last_name=self.last_name, address=self.address, city=self.city, postal_code=self.postal_code, phone=self.phone, country_code=self.country_code) super(Request_Address_Tests, self).setUp()