def test_get_customer_with_new_token_should_call_facades_get_customer_with_customer_id_the_facades_replace_default_card_with_stripes_customer_and_card_token(
            self, stripe_facade_class):
        # setup
        adapter = MembershipStripeAdapter(self.membership)
        facade = stripe_facade_class.return_value

        # action
        returned_value = adapter.get_customer_with_new_token(
            self.customer_id, self.card_token)

        # assert
        self.assertTupleEqual((self.customer_id,),
            facade.get_customer.call_args[0])
        self.assertTupleEqual(
            (facade.get_customer.return_value, self.card_token,),
            facade.replace_default_card.call_args[0])
        self.assertEqual(id(facade.get_customer.return_value),
            id(returned_value))
    def test_get_customer_with_new_token_should_call_facades_get_customer_with_customer_id_the_facades_replace_default_card_with_stripes_customer_and_card_token(
            self, stripe_facade_class):
        # setup
        adapter = MembershipStripeAdapter(self.membership)
        facade = stripe_facade_class.return_value

        # action
        returned_value = adapter.get_customer_with_new_token(
            self.customer_id, self.card_token)

        # assert
        self.assertTupleEqual((self.customer_id, ),
                              facade.get_customer.call_args[0])
        self.assertTupleEqual((
            facade.get_customer.return_value,
            self.card_token,
        ), facade.replace_default_card.call_args[0])
        self.assertEqual(id(facade.get_customer.return_value),
                         id(returned_value))