Skip to content

Commit

Permalink
Test ability to make a query public
Browse files Browse the repository at this point in the history
  • Loading branch information
aaron-contreras committed Jul 8, 2024
1 parent c6373cf commit ee7ec0b
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 0 deletions.
55 changes: 55 additions & 0 deletions spec/features/projects/persisted_lists_sharing_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -158,4 +158,59 @@
end
end
end

context "without the permission to manage public project lists" do
it "doesn't allow making a list public" do
login_as(sharer)

projects_index_page.visit!
projects_index_page.set_sidebar_filter "Member-of list"
projects_index_page.open_share_dialog

share_dialog.expect_open
share_dialog.expect_toggle_public_disabled
end
end

describe "Making a list public " \
"and accessing it as a user not allowed to edit it" do
shared_let(:global_member) do
create(:global_member,
principal: sharer,
roles: [create(:global_role, permissions: %i[manage_public_project_queries])])
end

it "allows the user to view the list" do
using_session "shared user" do
login_as(shared_user)

projects_index_page.visit!
projects_index_page.expect_no_sidebar_filter("Member-of list")
end

using_session "sharer" do
login_as(sharer)

projects_index_page.visit!
projects_index_page.set_sidebar_filter "Member-of list"
projects_index_page.open_share_dialog

share_dialog.expect_open
share_dialog.toggle_public
share_dialog.close
end

using_session "shared user" do
login_as(shared_user)
projects_index_page.visit!
projects_index_page.expect_sidebar_filter("Member-of list")
projects_index_page.set_sidebar_filter("Member-of list")
projects_index_page.open_share_dialog

# View only
share_dialog.expect_sharing_forbidden_banner
share_dialog.close
end
end
end
end
10 changes: 10 additions & 0 deletions spec/support/components/sharing/project_queries/share_modal.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,16 @@ def expect_sharing_forbidden_banner
def close
click_on(class: "Overlay-closeButton")
end

def toggle_public
find("toggle-switch").click
end

def expect_toggle_public_disabled
within("toggle-switch") do
expect(find("button")).to be_disabled
end
end
end
end
end
Expand Down

0 comments on commit ee7ec0b

Please sign in to comment.