Skip to content
Snippets Groups Projects
Commit a804f126 authored by Kushal Pandya's avatar Kushal Pandya :speech_balloon:
Browse files

Fixes logic to set labels filter base path

Changelog: fixed
parent efd1d766
No related branches found
No related tags found
1 merge request!165254Fixes logic to set labels filter base path
Pipeline #1442406139 passed with warnings
Pipeline: rspec:predictive

#1442420959

    Pipeline: rspec-ee:predictive

    #1442420958

      Pipeline: Ruby 3.2.5 as-if-foss

      #1442411205

        ......@@ -60,12 +60,15 @@ export const initWorkItemsRoot = ({ workItemType, workspaceType } = {}) => {
        const isGroup = workspaceType === WORKSPACE_GROUP;
        const router = createRouter({ fullPath, workItemType, workspaceType, defaultBranch, isGroup });
        let listPath = issuesListPath;
        if (isGroup)
        if (isGroup) {
        listPath = epicsListPath;
        injectVueAppBreadcrumbs(router, WorkItemBreadcrumb, apolloProvider, {
        workItemType: listWorkItemType,
        epicsListPath,
        });
        }
        apolloProvider.clients.defaultClient.cache.writeQuery({
        query: activeDiscussionQuery,
        ......@@ -91,8 +94,7 @@ export const initWorkItemsRoot = ({ workItemType, workspaceType } = {}) => {
        hasOkrsFeature: parseBoolean(hasOkrsFeature),
        hasSubepicsFeature: parseBoolean(hasSubepicsFeature),
        hasScopedLabelsFeature: parseBoolean(hasScopedLabelsFeature),
        // TODO: remove `epicsListPath` with https://gitlab.com/gitlab-org/gitlab/-/issues/473073
        issuesListPath: epicsListPath || issuesListPath,
        issuesListPath: listPath,
        labelsManagePath,
        registerPath,
        signInPath,
        ......
        ......@@ -36,7 +36,10 @@
        end
        context 'for epic work items' do
        let_it_be_with_reload(:work_item) { create(:work_item, :epic_with_legacy_epic, :group_level, namespace: group) }
        let_it_be(:label) { create(:group_label, group: group) }
        let_it_be_with_reload(:work_item) do
        create(:work_item, :epic_with_legacy_epic, :group_level, namespace: group, labels: [label])
        end
        context 'on the work item route' do
        before do
        ......@@ -72,6 +75,12 @@
        end
        end
        it 'shows work item labels pointing to filtered epics list' do
        within_testid('work-item-labels') do
        expect(page).to have_link(label.title, href: "#{group_epics_path(group)}?label_name[]=#{label.title}")
        end
        end
        # Make sure we render the work item under the epics route and are able to edit it.
        it_behaves_like 'work items title'
        end
        ......
        ......@@ -11,10 +11,11 @@
        let(:user2) { create(:user, name: 'John') }
        let(:group) { create(:group, :public, organization: organization) }
        let(:project) { create(:project, :public, namespace: group) }
        let(:objective) { create(:work_item, :objective, project: project) }
        let!(:emoji_upvote) { create(:award_emoji, :upvote, awardable: objective, user: user2) }
        let(:key_result) { create(:work_item, :key_result, project: project) }
        let(:label) { create(:label, project: project, title: "testing-label") }
        let(:label2) { create(:label, project: project, title: "another-label") }
        let(:objective) { create(:work_item, :objective, project: project, labels: [label]) }
        let!(:emoji_upvote) { create(:award_emoji, :upvote, awardable: objective, user: user2) }
        let(:key_result) { create(:work_item, :key_result, project: project, labels: [label]) }
        before do
        group.add_developer(user)
        ......
        ......@@ -14,14 +14,15 @@
        let_it_be(:group) { create(:group) }
        let_it_be(:project) { create(:project, :public, group: group) }
        let_it_be(:work_item) { create(:work_item, project: project) }
        let_it_be(:label) { create(:label, project: project, title: "testing-label") }
        let_it_be(:label2) { create(:label, project: project, title: "another-label") }
        let_it_be(:work_item) { create(:work_item, project: project, labels: [label]) }
        let_it_be(:task) { create(:work_item, :task, project: project) }
        let_it_be(:emoji_upvote) { create(:award_emoji, :upvote, awardable: work_item, user: user2) }
        let_it_be(:milestone) { create(:milestone, project: project) }
        let_it_be(:milestones) { create_list(:milestone, 25, project: project) }
        let_it_be(:note) { create(:note, noteable: work_item, project: work_item.project) }
        let(:work_items_path) { project_work_item_path(project, work_item.iid) }
        let_it_be(:label) { create(:label, project: work_item.project, title: "testing-label") }
        let_it_be(:contact) { create(:contact, group: group) }
        let(:contact_name) { "#{contact.first_name} #{contact.last_name}" }
        ......
        ......@@ -200,20 +200,26 @@ def click_reply_and_enter_slash
        end
        RSpec.shared_examples 'work items labels' do
        it 'shows a label with a link pointing to filtered work items list' do
        within_testid('work-item-labels') do
        expect(page).to have_link(label.title, href: "#{project_issues_path(project)}?label_name[]=#{label.title}")
        end
        end
        it 'adds and removes a label' do
        within_testid 'work-item-labels' do
        expect(page).not_to have_css '.gl-label', text: label.title
        expect(page).not_to have_css '.gl-label', text: label2.title
        click_button 'Edit'
        select_listbox_item(label.title)
        select_listbox_item(label2.title)
        click_button 'Apply'
        expect(page).to have_css '.gl-label', text: label.title
        expect(page).to have_css '.gl-label', text: label2.title
        click_button 'Edit'
        click_button 'Clear'
        expect(page).not_to have_css '.gl-label', text: label.title
        expect(page).not_to have_css '.gl-label', text: label2.title
        end
        end
        ......@@ -221,21 +227,21 @@ def click_reply_and_enter_slash
        using_session :other_session do
        visit work_items_path
        expect(page).not_to have_css '.gl-label', text: label.title
        expect(page).not_to have_css '.gl-label', text: label2.title
        end
        within_testid 'work-item-labels' do
        click_button 'Edit'
        select_listbox_item(label.title)
        select_listbox_item(label2.title)
        click_button 'Apply'
        expect(page).to have_css '.gl-label', text: label.title
        expect(page).to have_css '.gl-label', text: label2.title
        end
        expect(page).to have_css '.gl-label', text: label.title
        expect(page).to have_css '.gl-label', text: label2.title
        using_session :other_session do
        expect(page).to have_css '.gl-label', text: label.title
        expect(page).to have_css '.gl-label', text: label2.title
        end
        end
        ......
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Finish editing this message first!
        Please register or to comment