def test_with_none_payment(self): """ Test that it returns the non-falsy attrs in govuk_payment if the passed-in payment is falsy. """ client = PaymentClient() payment = None govuk_payment = { 'email': '*****@*****.**', 'provider_id': '', 'card_details': { 'cardholder_name': None, 'card_brand': 'visa', }, 'extra_attribute': 'some-value', } attr_updates = client.get_completion_payment_attr_updates(payment, govuk_payment) self.assertEqual( attr_updates, { 'email': '*****@*****.**', 'card_brand': 'visa', } )
def test_get(self): """ Test that the completion values in govuk_payment that are not already set in payment are returned. """ client = PaymentClient() payment = { 'email': '*****@*****.**', # shouldn't get overridden 'worldpay_id': '', # should get updated 'cardholder_name': None, # should get updated 'card_brand': 'visa', # hasn't changed so should be ignored } govuk_payment = { 'email': '*****@*****.**', # should be ignored 'provider_id': '123456789', # should be used 'card_details': { 'cardholder_name': 'John Doe', 'first_digits_card_number': '1234', 'last_digits_card_number': '987', 'expiry_date': '01/20', 'card_brand': 'visa', # hasn't changed so should be ignored 'billing_address': { 'line1': '102 Petty France', 'line2': '', 'postcode': 'SW1H9AJ', 'city': 'London', 'country': 'GB', }, }, 'extra_attribute': 'some-value', } attr_updates = client.get_completion_payment_attr_updates(payment, govuk_payment) self.assertEqual( attr_updates, { 'worldpay_id': '123456789', 'cardholder_name': 'John Doe', 'card_number_first_digits': '1234', 'card_number_last_digits': '987', 'card_expiry_date': '01/20', 'billing_address': { 'line1': '102 Petty France', 'line2': '', 'postcode': 'SW1H9AJ', 'city': 'London', 'country': 'GB', }, } )
def test_with_none_govuk_payment(self): """ Test that it returns {} if the passed in govuk payment is falsy. """ client = PaymentClient() payment = { 'worldpay_id': '123456789', 'card_brand': 'visa', } govuk_payment = None attr_updates = client.get_completion_payment_attr_updates(payment, govuk_payment) self.assertEqual(attr_updates, {})