diff options
author | Mike Greiling <mgreiling@gitlab.com> | 2017-09-07 18:07:40 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-09-07 18:07:40 +0000 |
commit | 03b14b48a07e3bcab53b273bbeccdba1ef921ac2 (patch) | |
tree | f41b966fa0ea4e2b279be894ba9c59578e94e1fc /spec/features/projects/features_visibility_spec.rb | |
parent | 21b16c5a168ebd79c6a5bcb9633752ecf4958089 (diff) | |
download | gitlab-ce-03b14b48a07e3bcab53b273bbeccdba1ef921ac2.tar.gz |
Resolve "Make project and features visibility settings less confusing"
Diffstat (limited to 'spec/features/projects/features_visibility_spec.rb')
-rw-r--r-- | spec/features/projects/features_visibility_spec.rb | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/spec/features/projects/features_visibility_spec.rb b/spec/features/projects/features_visibility_spec.rb index 24691629063..57722276d79 100644 --- a/spec/features/projects/features_visibility_spec.rb +++ b/spec/features/projects/features_visibility_spec.rb @@ -19,21 +19,16 @@ describe 'Edit Project Settings' do it 'toggles visibility' do visit edit_project_path(project) - select 'Disabled', from: "project_project_feature_attributes_#{tool_name}_access_level" + # disable by clicking toggle + toggle_feature_off("project[project_feature_attributes][#{tool_name}_access_level]") page.within('.sharing-permissions') do click_button 'Save changes' end wait_for_requests expect(page).not_to have_selector(".shortcuts-#{shortcut_name}") - select 'Everyone with access', from: "project_project_feature_attributes_#{tool_name}_access_level" - page.within('.sharing-permissions') do - click_button 'Save changes' - end - wait_for_requests - expect(page).to have_selector(".shortcuts-#{shortcut_name}") - - select 'Only team members', from: "project_project_feature_attributes_#{tool_name}_access_level" + # re-enable by clicking toggle again + toggle_feature_on("project[project_feature_attributes][#{tool_name}_access_level]") page.within('.sharing-permissions') do click_button 'Save changes' end @@ -176,19 +171,19 @@ describe 'Edit Project Settings' do end it "disables repository related features" do - select "Disabled", from: "project_project_feature_attributes_repository_access_level" + toggle_feature_off('project[project_feature_attributes][repository_access_level]') page.within('.sharing-permissions') do click_button "Save changes" end - expect(find(".sharing-permissions")).to have_selector("select.disabled", count: 2) + expect(find(".sharing-permissions")).to have_selector(".project-feature-toggle.disabled", count: 2) end it "shows empty features project homepage" do - select "Disabled", from: "project_project_feature_attributes_repository_access_level" - select "Disabled", from: "project_project_feature_attributes_issues_access_level" - select "Disabled", from: "project_project_feature_attributes_wiki_access_level" + toggle_feature_off('project[project_feature_attributes][repository_access_level]') + toggle_feature_off('project[project_feature_attributes][issues_access_level]') + toggle_feature_off('project[project_feature_attributes][wiki_access_level]') page.within('.sharing-permissions') do click_button "Save changes" @@ -201,9 +196,9 @@ describe 'Edit Project Settings' do end it "hides project activity tabs" do - select "Disabled", from: "project_project_feature_attributes_repository_access_level" - select "Disabled", from: "project_project_feature_attributes_issues_access_level" - select "Disabled", from: "project_project_feature_attributes_wiki_access_level" + toggle_feature_off('project[project_feature_attributes][repository_access_level]') + toggle_feature_off('project[project_feature_attributes][issues_access_level]') + toggle_feature_off('project[project_feature_attributes][wiki_access_level]') page.within('.sharing-permissions') do click_button "Save changes" @@ -222,7 +217,7 @@ describe 'Edit Project Settings' do # Regression spec for https://gitlab.com/gitlab-org/gitlab-ce/issues/25272 it "hides comments activity tab only on disabled issues, merge requests and repository" do - select "Disabled", from: "project_project_feature_attributes_issues_access_level" + toggle_feature_off('project[project_feature_attributes][issues_access_level]') save_changes_and_check_activity_tab do expect(page).to have_content("Comments") @@ -230,7 +225,7 @@ describe 'Edit Project Settings' do visit edit_project_path(project) - select "Disabled", from: "project_project_feature_attributes_merge_requests_access_level" + toggle_feature_off('project[project_feature_attributes][merge_requests_access_level]') save_changes_and_check_activity_tab do expect(page).to have_content("Comments") @@ -238,7 +233,7 @@ describe 'Edit Project Settings' do visit edit_project_path(project) - select "Disabled", from: "project_project_feature_attributes_repository_access_level" + toggle_feature_off('project[project_feature_attributes][repository_access_level]') save_changes_and_check_activity_tab do expect(page).not_to have_content("Comments") @@ -275,4 +270,12 @@ describe 'Edit Project Settings' do expect(page).not_to have_selector('.project-stats') end end + + def toggle_feature_off(feature_name) + find(".project-feature-controls[data-for=\"#{feature_name}\"] .project-feature-toggle.checked").click + end + + def toggle_feature_on(feature_name) + find(".project-feature-controls[data-for=\"#{feature_name}\"] .project-feature-toggle:not(.checked)").click + end end |