From 859b79d0dcd53c85bb57e3db888a1af702802987 Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 30 Aug 2013 11:20:04 +0200 Subject: Account: Composition to handle User and its identities We have a lot of things that act upon a user record and one or more of it's identities at the same time: * Sing up: Create a user and it's initial identity * Rename: Change the username and create a new identity, turn old into an alias * Cancel Account: Remove user and all their identities. In order to keep the User and Identity behaviour isolated but still have a this logic represented in a sinle place the Account model deals with all these things. We could have overwritten the User#create, User#update and User#destroy methods instead. But then we would always create identities, even if we only need a user (for example in tests). --- users/test/functional/v1/users_controller_test.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'users/test/functional/v1') diff --git a/users/test/functional/v1/users_controller_test.rb b/users/test/functional/v1/users_controller_test.rb index a330bf3..7cd9b0c 100644 --- a/users/test/functional/v1/users_controller_test.rb +++ b/users/test/functional/v1/users_controller_test.rb @@ -7,7 +7,7 @@ class V1::UsersControllerTest < ActionController::TestCase changed_attribs = record_attributes_for :user_with_settings account_settings = stub account_settings.expects(:update).with(changed_attribs) - AccountSettings.expects(:new).with(user).returns(account_settings) + Account.expects(:new).with(user).returns(account_settings) login user put :update, :user => changed_attribs, :id => user.id, :format => :json @@ -22,7 +22,7 @@ class V1::UsersControllerTest < ActionController::TestCase changed_attribs = record_attributes_for :user_with_settings account_settings = stub account_settings.expects(:update).with(changed_attribs) - AccountSettings.expects(:new).with(user).returns(account_settings) + Account.expects(:new).with(user).returns(account_settings) login :is_admin? => true put :update, :user => changed_attribs, :id => user.id, :format => :json @@ -41,7 +41,7 @@ class V1::UsersControllerTest < ActionController::TestCase test "should create new user" do user_attribs = record_attributes_for :user user = User.new(user_attribs) - User.expects(:create).with(user_attribs).returns(user) + Account.expects(:create).with(user_attribs).returns(user) post :create, :user => user_attribs, :format => :json @@ -55,7 +55,7 @@ class V1::UsersControllerTest < ActionController::TestCase user_attribs.slice!('login') user = User.new(user_attribs) assert !user.valid? - User.expects(:create).with(user_attribs).returns(user) + Account.expects(:create).with(user_attribs).returns(user) post :create, :user => user_attribs, :format => :json -- cgit v1.2.3