def test_get_customer_profile(self, GetRequest): profile_mock = Mock() _request = Mock() _request.make_request.return_value = profile_mock GetRequest.return_value = _request # Scenario: call is successful return_value = get_customer_profile(self.customer_id) GetRequest.assert_called_once_with(customerProfileId=self.customer_id) self.assertTrue(_request.make_request.called) self.assertEqual(return_value, profile_mock) # Scenario: call raises AuthorizeNetException _request.make_request.side_effect = AuthorizeNetException('') return_value = get_customer_profile(self.customer_id) self.assertEqual(return_value, None)
def test_get_customer_profile(self, GetRequest): profile_mock = Mock() _request = Mock() _request.make_request.return_value = profile_mock GetRequest.return_value = _request # Scenario: call is successful return_value = get_customer_profile(self.customer_id) GetRequest.assert_called_once_with(customerProfileId=self.customer_id) self.assertTrue(_request.make_request.called) self.assertEqual(return_value, profile_mock) # Scenario: call raises AuthorizeNetException _request.make_request.side_effect = AuthorizeNetException('') return_value = get_customer_profile(self.customer_id) self.assertEqual(return_value, None)
def get_or_create_customer_profile(user): profile_id = CustomerID.get_id(user._id) if not profile_id: profile_id = api.create_customer_profile(merchant_customer_id=user._fullname, description=user.name) CustomerID.set(user, profile_id) profile = api.get_customer_profile(profile_id) if not profile or profile.merchantCustomerId != user._fullname: raise ValueError("error getting customer profile") for payment_profile in profile.paymentProfiles: PayID.add(user, payment_profile.customerPaymentProfileId) return profile
def get_or_create_customer_profile(user): profile_id = CustomerID.get_id(user._id) if not profile_id: profile_id = api.create_customer_profile( merchant_customer_id=user._fullname, description=user.name) CustomerID.set(user, profile_id) profile = api.get_customer_profile(profile_id) if not profile or profile.merchantCustomerId != user._fullname: raise ValueError("error getting customer profile") for payment_profile in profile.paymentProfiles: PayID.add(user, payment_profile.customerPaymentProfileId) return profile