diff options
Diffstat (limited to 'spec/features/labels_hierarchy_spec.rb')
-rw-r--r-- | spec/features/labels_hierarchy_spec.rb | 76 |
1 files changed, 71 insertions, 5 deletions
diff --git a/spec/features/labels_hierarchy_spec.rb b/spec/features/labels_hierarchy_spec.rb index 0a2f81986be..fca5e946d0c 100644 --- a/spec/features/labels_hierarchy_spec.rb +++ b/spec/features/labels_hierarchy_spec.rb @@ -17,7 +17,6 @@ RSpec.describe 'Labels Hierarchy', :js do let!(:project_label_1) { create(:label, project: project_1, title: 'Label_4') } before do - stub_feature_flags(graphql_board_lists: false) stub_feature_flags(board_new_list: false) grandparent.add_owner(user) @@ -25,20 +24,21 @@ RSpec.describe 'Labels Hierarchy', :js do end shared_examples 'assigning labels from sidebar' do - it 'can assign all ancestors labels', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/27952' do + it 'can assign all ancestors labels' do [grandparent_group_label, parent_group_label, project_label_1].each do |label| page.within('.block.labels') do - find('.edit-link').click + click_on 'Edit' end wait_for_requests find('a.label-item', text: label.title).click - find('.dropdown-menu-close-icon').click + wait_for_requests + click_on 'Close' wait_for_requests - expect(page).to have_selector('.badge', text: label.title) + expect(page).to have_selector('.gl-label', text: label.title) end end @@ -215,6 +215,44 @@ RSpec.describe 'Labels Hierarchy', :js do end end + context 'issuable sidebar when graphql_board_lists FF disabled' do + let!(:issue) { create(:issue, project: project_1) } + + before do + stub_feature_flags(graphql_board_lists: false) + end + + context 'on project board issue sidebar' do + before do + project_1.add_developer(user) + board = create(:board, project: project_1) + + visit project_board_path(project_1, board) + + wait_for_requests + + find('.board-card').click + end + + it_behaves_like 'assigning labels from sidebar' + end + + context 'on group board issue sidebar' do + before do + parent.add_developer(user) + board = create(:board, group: parent) + + visit group_board_path(parent, board) + + wait_for_requests + + find('.board-card').click + end + + it_behaves_like 'assigning labels from sidebar' + end + end + context 'issuable filtering' do let!(:labeled_issue) { create(:labeled_issue, project: project_1, labels: [grandparent_group_label, parent_group_label, project_label_1]) } let!(:issue) { create(:issue, project: project_1) } @@ -302,6 +340,34 @@ RSpec.describe 'Labels Hierarchy', :js do let(:board) { create(:board, group: parent) } before do + parent.add_developer(user) + visit group_board_path(parent, board) + find('.js-new-board-list').click + wait_for_requests + end + + context 'when graphql_board_lists FF enabled' do + it 'creates lists from all ancestor group labels' do + [grandparent_group_label, parent_group_label].each do |label| + find('a', text: label.title).click + end + + wait_for_requests + + expect(page).to have_selector('.board-title-text', text: grandparent_group_label.title) + expect(page).to have_selector('.board-title-text', text: parent_group_label.title) + end + + it 'does not create lists from descendant groups' do + expect(page).not_to have_selector('a', text: child_group_label.title) + end + end + end + + context 'when graphql_board_lists FF disabled' do + let(:board) { create(:board, group: parent) } + + before do stub_feature_flags(graphql_board_lists: false) parent.add_developer(user) visit group_board_path(parent, board) |