Files
fizzy/test/models/collection/accessible_test.rb
T
Mike Dalessio 739d77e0c6 Only include active users in Lexxy prompts
Specifically, exclude users that are inactive or with role "system".

ref: https://app.fizzy.do/5986089/cards/2760
ref: https://app.fizzy.do/5986089/cards/2789
2025-11-04 18:48:59 -05:00

42 lines
1.5 KiB
Ruby

require "test_helper"
class Collection::AccessibleTest < ActiveSupport::TestCase
test "revising access" do
collections(:writebook).update! all_access: false
collections(:writebook).accesses.revise granted: users(:david, :jz), revoked: users(:kevin)
assert_equal users(:david, :jz), collections(:writebook).users
collections(:writebook).accesses.grant_to users(:kevin)
assert_includes collections(:writebook).users.reload, users(:kevin)
collections(:writebook).accesses.revoke_from users(:kevin)
assert_not_includes collections(:writebook).users.reload, users(:kevin)
end
test "grants access to everyone after creation" do
collection = Current.set(session: sessions(:david)) do
Collection.create! name: "New collection", all_access: true
end
assert_equal User.active.sort, collection.users.sort
end
test "grants access to everyone after update" do
collection = Current.set(session: sessions(:david)) do
Collection.create! name: "New collection"
end
assert_equal [ users(:david) ], collection.users
collection.update! all_access: true
assert_equal User.active.sort, collection.users.reload.sort
end
test "collection watchers" do
collections(:writebook).access_for(users(:kevin)).watching!
assert_includes collections(:writebook).watchers, users(:kevin)
collections(:writebook).access_for(users(:kevin)).access_only!
assert_not_includes collections(:writebook).reload.watchers, users(:kevin)
end
end