Fix tests after the removal of memberships
This commit is contained in:
committed by
Mike Dalessio
parent
8fa9566c07
commit
34d83aaa7c
@@ -14,11 +14,10 @@ class AccountTest < ActiveSupport::TestCase
|
||||
|
||||
test ".create_with_admin_user creates a new local account" do
|
||||
identity = identities(:david)
|
||||
membership = identity.memberships.create!(tenant: ActiveRecord::FixtureSet.identify("account-create-with-admin-user-test"))
|
||||
account = nil
|
||||
|
||||
assert_changes -> { Account.count }, +1 do
|
||||
assert_changes -> { User.count }, +1 do
|
||||
assert_changes -> { User.count }, +2 do
|
||||
account = Account.create_with_admin_user(
|
||||
account: {
|
||||
external_account_id: ActiveRecord::FixtureSet.identify("account-create-with-admin-user-test"),
|
||||
@@ -26,7 +25,7 @@ class AccountTest < ActiveSupport::TestCase
|
||||
},
|
||||
owner: {
|
||||
name: "David",
|
||||
membership: membership
|
||||
identity: identity
|
||||
}
|
||||
)
|
||||
end
|
||||
|
||||
@@ -15,14 +15,14 @@ class Board::AccessibleTest < ActiveSupport::TestCase
|
||||
end
|
||||
|
||||
test "grants access to everyone after creation" do
|
||||
board = Current.set(session: sessions(:david)) do
|
||||
board = Current.set(session: sessions(:david), user: users(:david)) do
|
||||
Board.create! name: "New board", all_access: true
|
||||
end
|
||||
assert_equal accounts("37s").users.active.sort, board.users.sort
|
||||
end
|
||||
|
||||
test "grants access to everyone after update" do
|
||||
board = Current.set(session: sessions(:david)) do
|
||||
board = Current.set(session: sessions(:david), user: users(:david)) do
|
||||
Board.create! name: "New board"
|
||||
end
|
||||
assert_equal [ users(:david) ], board.users
|
||||
|
||||
@@ -7,7 +7,7 @@ class FilterTest < ActiveSupport::TestCase
|
||||
|
||||
test "cards" do
|
||||
Current.set session: sessions(:david) do
|
||||
@new_board = Board.create! name: "Inaccessible Board"
|
||||
@new_board = Board.create! name: "Inaccessible Board", creator: users(:david)
|
||||
@new_card = @new_board.cards.create!(status: "published")
|
||||
|
||||
cards(:layout).comments.create!(body: "I hate haggis")
|
||||
|
||||
@@ -23,15 +23,13 @@ class IdentityTest < ActiveSupport::TestCase
|
||||
identity = identities(:david)
|
||||
account = accounts(:initech)
|
||||
|
||||
assert_difference [ "Membership.count", "User.count" ], 1 do
|
||||
assert_difference "User.count", 1 do
|
||||
identity.join(account)
|
||||
end
|
||||
|
||||
membership = identity.memberships.order(created_at: :desc).first
|
||||
assert_equal account.external_account_id.to_s, membership.tenant
|
||||
|
||||
user = account.users.order(created_at: :desc).first
|
||||
assert_equal membership, user.membership
|
||||
user = account.users.find_by(identity: identity)
|
||||
assert_not_nil user
|
||||
assert_equal identity, user.identity
|
||||
assert_equal identity.email_address, user.name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
require "test_helper"
|
||||
|
||||
class Membership::EmailAddressChangeableTest < ActiveSupport::TestCase
|
||||
include ActionMailer::TestHelper
|
||||
|
||||
setup do
|
||||
@identity = identities(:kevin)
|
||||
@tenant = accounts("37s").external_account_id
|
||||
@membership = @identity.memberships.find_by!(tenant: @tenant)
|
||||
@new_email = "newart@example.com"
|
||||
end
|
||||
|
||||
test "send_email_address_change_confirmation" do
|
||||
assert_emails 1 do
|
||||
@membership.send_email_address_change_confirmation(@new_email)
|
||||
end
|
||||
end
|
||||
|
||||
test "change_email_address" do
|
||||
old_identity = @identity
|
||||
|
||||
assert_difference -> { Identity.count }, +1 do
|
||||
@membership.change_email_address(@new_email)
|
||||
end
|
||||
|
||||
assert_equal @new_email, @membership.reload.identity.email_address
|
||||
assert_not old_identity.reload.memberships.exists?(id: @membership.id)
|
||||
assert_equal @new_email, @membership.reload.identity.email_address
|
||||
|
||||
# Make sure that a prior membership doesn't exist
|
||||
identities(:david).memberships.where(tenant: @tenant).delete_all
|
||||
|
||||
assert_no_difference -> { Identity.count } do
|
||||
@membership.change_email_address(identities(:david).email_address)
|
||||
end
|
||||
assert_equal identities(:david).email_address, @membership.reload.identity.email_address
|
||||
end
|
||||
|
||||
test "change_email_address_using_token" do
|
||||
token = @membership.send(:generate_email_address_change_token, to: @new_email)
|
||||
|
||||
Membership.change_email_address_using_token(token)
|
||||
|
||||
assert_equal @new_email, @membership.reload.identity.email_address
|
||||
end
|
||||
|
||||
test "change_email_address_using_token with invalid token" do
|
||||
assert_raises(ArgumentError, match: /invalid/) do
|
||||
Membership.change_email_address_using_token("invalid_token")
|
||||
end
|
||||
|
||||
token = @membership.send(:generate_email_address_change_token, to: @new_email)
|
||||
@identity.update!(email_address: "different@example.com")
|
||||
|
||||
assert_raises(ArgumentError, match: /different email address/) do
|
||||
Membership.change_email_address_using_token(token)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,18 +0,0 @@
|
||||
require "test_helper"
|
||||
|
||||
class MembershipTest < ActiveSupport::TestCase
|
||||
test "change_email_address" do
|
||||
tenant = accounts("37s").external_account_id
|
||||
old_identity = identities(:kevin)
|
||||
new_email = "kevin.new@37signals.com"
|
||||
|
||||
assert_difference -> { Identity.count }, 1 do
|
||||
Membership.change_email_address(from: old_identity.email_address, to: new_email, tenant: tenant)
|
||||
end
|
||||
|
||||
new_identity = Identity.find_by(email_address: new_email)
|
||||
assert new_identity
|
||||
assert new_identity.memberships.exists?(tenant: tenant)
|
||||
assert_not old_identity.reload.memberships.exists?(tenant: tenant)
|
||||
end
|
||||
end
|
||||
@@ -2,14 +2,14 @@ require "test_helper"
|
||||
|
||||
class User::AccessorTest < ActiveSupport::TestCase
|
||||
test "new users get added to all_access boards on creation" do
|
||||
user = User.create!(name: "Jorge")
|
||||
user = User.create!(account: accounts("37s"), name: "Jorge")
|
||||
|
||||
assert_includes user.boards, boards(:writebook)
|
||||
assert_equal user.account.boards.all_access.count, user.boards.count
|
||||
end
|
||||
|
||||
test "system user does not get added to boards on creation" do
|
||||
system_user = User.create!(role: "system", name: "Test System User")
|
||||
system_user = User.create!(account: accounts("37s"), role: "system", name: "Test System User")
|
||||
assert_empty system_user.boards
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,7 +2,7 @@ require "test_helper"
|
||||
|
||||
class User::ConfigurableTest < ActiveSupport::TestCase
|
||||
test "should create settings for new users" do
|
||||
user = User.create! name: "Some new user"
|
||||
user = User.create! account: accounts("37s"), name: "Some new user"
|
||||
assert user.settings.present?
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,18 +2,22 @@ require "test_helper"
|
||||
|
||||
class UserTest < ActiveSupport::TestCase
|
||||
test "create" do
|
||||
user = User.create! \
|
||||
user = User.create!(
|
||||
account: accounts("37s"),
|
||||
role: "member",
|
||||
name: "Victor Cooper"
|
||||
)
|
||||
|
||||
assert_equal [ boards(:writebook) ], user.boards
|
||||
assert user.settings.present?
|
||||
end
|
||||
|
||||
test "creation gives access to all_access boards" do
|
||||
user = User.create! \
|
||||
user = User.create!(
|
||||
account: accounts("37s"),
|
||||
role: "member",
|
||||
name: "Victor Cooper"
|
||||
)
|
||||
|
||||
assert_equal [ boards(:writebook) ], user.boards
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user