diff options
author | jessib <jessib@riseup.net> | 2013-09-03 10:48:13 -0700 |
---|---|---|
committer | jessib <jessib@riseup.net> | 2013-09-03 10:48:13 -0700 |
commit | 07d0f6fe1d80cb730bd12a03a107c18d18779acc (patch) | |
tree | 8583a31661ba5032a9cd6ffd6b74273a6c862ab0 /users/test | |
parent | f3e17149116f6a3aeb87f8a6d0ecf29e8e33ad93 (diff) | |
parent | 29b306a4d49d395e5753e2e85f8fa1f25d18410c (diff) |
Merge pull request #73 from azul/bugfix/3623-teardown-test-data-properly
Bugfix/3623 teardown test data properly
Diffstat (limited to 'users/test')
-rw-r--r-- | users/test/functional/users_controller_test.rb | 19 | ||||
-rw-r--r-- | users/test/functional/v1/users_controller_test.rb | 8 | ||||
-rw-r--r-- | users/test/integration/browser/account_test.rb | 5 | ||||
-rw-r--r-- | users/test/unit/account_test.rb | 45 | ||||
-rw-r--r-- | users/test/unit/identity_test.rb | 7 | ||||
-rw-r--r-- | users/test/unit/user_test.rb | 2 |
6 files changed, 59 insertions, 27 deletions
diff --git a/users/test/functional/users_controller_test.rb b/users/test/functional/users_controller_test.rb index 96ae48c..052de04 100644 --- a/users/test/functional/users_controller_test.rb +++ b/users/test/functional/users_controller_test.rb @@ -10,21 +10,14 @@ class UsersControllerTest < ActionController::TestCase end test "failed show without login" do - user = FactoryGirl.build(:user) - user.save + user = find_record :user get :show, :id => user.id assert_response :redirect assert_redirected_to login_path - user.destroy end test "user can see user" do user = find_record :user, - :email => nil, - :email_forward => nil, - :email_aliases => [], - :created_at => Time.now, - :updated_at => Time.now, :most_recent_tickets => [] login user get :show, :id => user.id @@ -33,11 +26,6 @@ class UsersControllerTest < ActionController::TestCase test "admin can see other user" do user = find_record :user, - :email => nil, - :email_forward => nil, - :email_aliases => [], - :created_at => Time.now, - :updated_at => Time.now, :most_recent_tickets => [] login :is_admin? => true get :show, :id => user.id @@ -47,11 +35,6 @@ class UsersControllerTest < ActionController::TestCase test "user cannot see other user" do user = find_record :user, - :email => nil, - :email_forward => nil, - :email_aliases => [], - :created_at => Time.now, - :updated_at => Time.now, :most_recent_tickets => [] login get :show, :id => user.id 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 diff --git a/users/test/integration/browser/account_test.rb b/users/test/integration/browser/account_test.rb index f3a78ed..8b214a4 100644 --- a/users/test/integration/browser/account_test.rb +++ b/users/test/integration/browser/account_test.rb @@ -12,6 +12,10 @@ class AccountTest < BrowserIntegrationTest click_on 'Logout' assert page.has_content?("Sign Up") assert_equal '/', current_path + assert user = User.find_by_login(username) + assert id = user.identity + id.destroy + user.destroy end # trying to seed an invalid A for srp login @@ -24,6 +28,7 @@ class AccountTest < BrowserIntegrationTest click_on 'Log In' assert page.has_content?("Invalid random key") assert page.has_no_content?("Welcome") + user.destroy end test "reports internal server errors" do diff --git a/users/test/unit/account_test.rb b/users/test/unit/account_test.rb new file mode 100644 index 0000000..39969c0 --- /dev/null +++ b/users/test/unit/account_test.rb @@ -0,0 +1,45 @@ +require 'test_helper' + +class AccountTest < ActiveSupport::TestCase + + test "create a new account" do + user = Account.create(FactoryGirl.attributes_for(:user)) + assert user.valid? + assert user.persisted? + assert id = user.identity + assert_equal user.email_address, id.address + assert_equal user.email_address, id.destination + id.destroy + user.destroy + end + + test "create and remove a user account" do + assert_no_difference "Identity.count" do + assert_no_difference "User.count" do + user = Account.create(FactoryGirl.attributes_for(:user)) + Account.new(user).destroy + end + end + end + + test "change username and create alias" do + user = Account.create(FactoryGirl.attributes_for(:user)) + old_id = user.identity + old_email = user.email_address + Account.new(user).update(FactoryGirl.attributes_for(:user)) + user.reload + old_id.reload + assert user.valid? + assert user.persisted? + assert id = user.identity + assert id.persisted? + assert_equal user.email_address, id.address + assert_equal user.email_address, id.destination + assert_equal user.email_address, old_id.destination + assert_equal old_email, old_id.address + old_id.destroy + id.destroy + user.destroy + end + +end diff --git a/users/test/unit/identity_test.rb b/users/test/unit/identity_test.rb index 472bc52..fa88315 100644 --- a/users/test/unit/identity_test.rb +++ b/users/test/unit/identity_test.rb @@ -7,9 +7,6 @@ class IdentityTest < ActiveSupport::TestCase @user = find_record :user end - teardown do - end - test "initial identity for a user" do id = Identity.for(@user) assert_equal @user.email_address, id.address @@ -36,7 +33,6 @@ class IdentityTest < ActiveSupport::TestCase assert_equal LocalEmail.new(alias_name), id.address assert_equal Email.new(forward_address), id.destination assert_equal @user, id.user - id.save end test "prevents duplicates" do @@ -44,6 +40,7 @@ class IdentityTest < ActiveSupport::TestCase dup = Identity.build_for @user, address: alias_name, destination: forward_address assert !dup.valid? assert_equal ["This alias already exists"], dup.errors[:base] + id.destroy end test "validates availability" do @@ -52,6 +49,7 @@ class IdentityTest < ActiveSupport::TestCase taken = Identity.build_for other_user, address: alias_name assert !taken.valid? assert_equal ["This email has already been taken"], taken.errors[:base] + id.destroy end test "setting and getting pgp key" do @@ -69,6 +67,7 @@ class IdentityTest < ActiveSupport::TestCase assert result = view.rows.first assert_equal id.address, result["key"] assert_equal id.keys[:pgp], result["value"] + id.destroy end def alias_name diff --git a/users/test/unit/user_test.rb b/users/test/unit/user_test.rb index 8efb0bd..c797623 100644 --- a/users/test/unit/user_test.rb +++ b/users/test/unit/user_test.rb @@ -50,8 +50,8 @@ class UserTest < ActiveSupport::TestCase other_user = FactoryGirl.create :user id = Identity.create_for other_user, address: @user.login assert !@user.valid? - other_user.destroy id.destroy + other_user.destroy end test "deprecated public key api still works" do |