def test_commit_changes_should_call_memberships_save(self,
            stripe_facade_class):
        # setup
        adapter = MembershipStripeAdapter(self.membership)
        customer = dict(id=self.customer_id)
        facade = stripe_facade_class.return_value

        # action
        adapter.commit_changes(customer)

        # assert
        self.assertEqual(self.customer_id, self.membership.customer_id)
        self.assertTupleEqual((customer,),
            facade.get_card_last_4_digits.call_args[0])
        self.assertEqual(facade.get_card_last_4_digits.return_value,
            self.membership.cc_last4)
        self.assertEqual(1, adapter.membership.save.call_count)
    def test_commit_changes_should_call_memberships_save(
            self, stripe_facade_class):
        # setup
        adapter = MembershipStripeAdapter(self.membership)
        customer = dict(id=self.customer_id)
        facade = stripe_facade_class.return_value

        # action
        adapter.commit_changes(customer)

        # assert
        self.assertEqual(self.customer_id, self.membership.customer_id)
        self.assertTupleEqual((customer, ),
                              facade.get_card_last_4_digits.call_args[0])
        self.assertEqual(facade.get_card_last_4_digits.return_value,
                         self.membership.cc_last4)
        self.assertEqual(1, adapter.membership.save.call_count)