Files
fizzy/test/controllers/my/identities_controller_test.rb
T

42 lines
1.3 KiB
Ruby

require "test_helper"
class My::IdentitiesControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in_as :kevin
end
test "show as JSON" do
identity = identities(:kevin)
expected_count = identity.users_with_active_accounts.count
untenanted do
get my_identity_path, as: :json
assert_response :success
assert_equal identity.id, @response.parsed_body["id"]
assert_equal expected_count, @response.parsed_body["accounts"].count
end
end
test "show as JSON includes users from active accounts only" do
identity = identities(:kevin)
active_account = Account.create!(external_account_id: 9999981, name: "Active Account")
cancelled_account = Account.create!(external_account_id: 9999982, name: "Cancelled Account")
identity.users.create!(account: active_account, name: "Kevin", role: :owner)
cancelling_user = identity.users.create!(account: cancelled_account, name: "Kevin", role: :owner)
cancelled_account.cancel(initiated_by: cancelling_user)
untenanted do
get my_identity_path, as: :json
assert_response :success
account_ids = @response.parsed_body["accounts"].map { |account| account["id"] }
assert_includes account_ids, active_account.id
assert_not_includes account_ids, cancelled_account.id
end
end
end