diff --git a/app/assets/javascripts/search/sidebar/components/blobs_filters.vue b/app/assets/javascripts/search/sidebar/components/blobs_filters.vue index b800b529fd10cac09eeb48b3e30c9455ccb2851e..2662a959a047941b70b120573654778aeacc8c89 100644 --- a/app/assets/javascripts/search/sidebar/components/blobs_filters.vue +++ b/app/assets/javascripts/search/sidebar/components/blobs_filters.vue @@ -19,12 +19,12 @@ export default { mixins: [glFeatureFlagsMixin()], computed: { ...mapState(['searchType']), - ...mapGetters(['hasProjectContext']), + ...mapGetters(['hasMissingProjectContext']), showLanguageFilter() { return this.searchType === SEARCH_TYPE_ADVANCED; }, shouldShowZoektForksFilter() { - return this.searchType === SEARCH_TYPE_ZOEKT && this.hasProjectContext; + return this.searchType === SEARCH_TYPE_ZOEKT && this.hasMissingProjectContext; }, }, }; @@ -33,7 +33,7 @@ export default { <template> <filters-template> <language-filter v-if="showLanguageFilter" class="gl-mb-5" /> - <archived-filter v-if="hasProjectContext" class="gl-mb-5" /> + <archived-filter v-if="hasMissingProjectContext" class="gl-mb-5" /> <forks-filter v-if="shouldShowZoektForksFilter" class="gl-mb-5" /> </filters-template> </template> diff --git a/app/assets/javascripts/search/sidebar/components/commits_filters.vue b/app/assets/javascripts/search/sidebar/components/commits_filters.vue index 5d0d012a73f3242e6055b910a7a1185da15c09c7..b88dc32a812fad34cfc143e534fa4bb6f9a58e12 100644 --- a/app/assets/javascripts/search/sidebar/components/commits_filters.vue +++ b/app/assets/javascripts/search/sidebar/components/commits_filters.vue @@ -11,13 +11,13 @@ export default { FiltersTemplate, }, computed: { - ...mapGetters(['hasProjectContext']), + ...mapGetters(['hasMissingProjectContext']), }, }; </script> <template> <filters-template> - <archived-filter v-if="hasProjectContext" class="gl-mb-5" /> + <archived-filter v-if="hasMissingProjectContext" class="gl-mb-5" /> </filters-template> </template> diff --git a/app/assets/javascripts/search/sidebar/components/issues_filters.vue b/app/assets/javascripts/search/sidebar/components/issues_filters.vue index 907c1f04e402852b6a2341adddcc6819414bce95..fcf724671e9c4bdc7dcf771ac0f912941d8368af 100644 --- a/app/assets/javascripts/search/sidebar/components/issues_filters.vue +++ b/app/assets/javascripts/search/sidebar/components/issues_filters.vue @@ -21,7 +21,7 @@ export default { }, mixins: [glFeatureFlagsMixin()], computed: { - ...mapGetters(['hasProjectContext']), + ...mapGetters(['hasMissingProjectContext']), ...mapState(['searchType']), showLabelFilter() { return this.searchType === SEARCH_TYPE_ADVANCED; @@ -35,6 +35,6 @@ export default { <status-filter class="gl-mb-5" /> <confidentiality-filter class="gl-mb-5" /> <label-filter v-if="showLabelFilter" class="gl-mb-5" /> - <archived-filter v-if="hasProjectContext" class="gl-mb-5" /> + <archived-filter v-if="hasMissingProjectContext" class="gl-mb-5" /> </filters-template> </template> diff --git a/app/assets/javascripts/search/sidebar/components/merge_requests_filters.vue b/app/assets/javascripts/search/sidebar/components/merge_requests_filters.vue index b0e3a52ac7dfcfefa6e2f2016e4a95b9f248231a..28386a8a57bdc65d4d2c8f442c62f6566a5259ab 100644 --- a/app/assets/javascripts/search/sidebar/components/merge_requests_filters.vue +++ b/app/assets/javascripts/search/sidebar/components/merge_requests_filters.vue @@ -15,11 +15,11 @@ export default { SourceBranchFilter, }, computed: { - ...mapGetters(['hasProjectContext']), + ...mapGetters(['hasMissingProjectContext']), ...mapState(['groupInitialJson']), shouldShowSourceBranchFilter() { // this will be changed https://gitlab.com/gitlab-org/gitlab/-/issues/480740 - return !this.hasProjectContext || this.groupInitialJson?.id; + return !this.hasMissingProjectContext || this.groupInitialJson?.id; }, }, }; @@ -28,7 +28,7 @@ export default { <template> <filters-template> <status-filter class="gl-mb-5" /> - <archived-filter v-if="hasProjectContext" class="gl-mb-5" /> + <archived-filter v-if="hasMissingProjectContext" class="gl-mb-5" /> <source-branch-filter v-if="shouldShowSourceBranchFilter" class="gl-mb-5" /> </filters-template> </template> diff --git a/app/assets/javascripts/search/sidebar/components/milestones_filters.vue b/app/assets/javascripts/search/sidebar/components/milestones_filters.vue index 74f26dec334131784cdceeffa81f6c586fd67792..73a844593b321f00ecf7f9ce04856df6a707a068 100644 --- a/app/assets/javascripts/search/sidebar/components/milestones_filters.vue +++ b/app/assets/javascripts/search/sidebar/components/milestones_filters.vue @@ -11,13 +11,13 @@ export default { FiltersTemplate, }, computed: { - ...mapGetters(['hasProjectContext']), + ...mapGetters(['hasMissingProjectContext']), }, }; </script> <template> <filters-template> - <archived-filter v-if="hasProjectContext" class="gl-mb-5" /> + <archived-filter v-if="hasMissingProjectContext" class="gl-mb-5" /> </filters-template> </template> diff --git a/app/assets/javascripts/search/sidebar/components/notes_filters.vue b/app/assets/javascripts/search/sidebar/components/notes_filters.vue index 01ea8dccf11c53992be77f086a1a2f4de4e288d8..6e25733a98a20bd71ca8abf685b37550af5d3fb5 100644 --- a/app/assets/javascripts/search/sidebar/components/notes_filters.vue +++ b/app/assets/javascripts/search/sidebar/components/notes_filters.vue @@ -11,13 +11,13 @@ export default { FiltersTemplate, }, computed: { - ...mapGetters(['hasProjectContext']), + ...mapGetters(['hasMissingProjectContext']), }, }; </script> <template> <filters-template> - <archived-filter v-if="hasProjectContext" class="gl-mb-5" /> + <archived-filter v-if="hasMissingProjectContext" class="gl-mb-5" /> </filters-template> </template> diff --git a/app/assets/javascripts/search/sidebar/components/wiki_blobs_filters.vue b/app/assets/javascripts/search/sidebar/components/wiki_blobs_filters.vue index 2960a684e146e5ad096532342a1bc02f727e866c..0650fe290e16ab81742eba74a540588757afcb7c 100644 --- a/app/assets/javascripts/search/sidebar/components/wiki_blobs_filters.vue +++ b/app/assets/javascripts/search/sidebar/components/wiki_blobs_filters.vue @@ -11,13 +11,13 @@ export default { FiltersTemplate, }, computed: { - ...mapGetters(['hasProjectContext']), + ...mapGetters(['hasMissingProjectContext']), }, }; </script> <template> <filters-template> - <archived-filter v-if="hasProjectContext" class="gl-mb-5" /> + <archived-filter v-if="hasMissingProjectContext" class="gl-mb-5" /> </filters-template> </template> diff --git a/app/assets/javascripts/search/store/getters.js b/app/assets/javascripts/search/store/getters.js index c5ffe16371f2f08685fe70ed6a7459f344468640..51cb98b8b7583b9f04b1f512d9d581ec93720784 100644 --- a/app/assets/javascripts/search/store/getters.js +++ b/app/assets/javascripts/search/store/getters.js @@ -10,7 +10,7 @@ import { injectRegexSearch, } from '~/search/store/utils'; -import { PROJECT_DATA, SCOPE_BLOB } from '~/search/sidebar/constants'; +import { SCOPE_BLOB } from '~/search/sidebar/constants'; import { GROUPS_LOCAL_STORAGE_KEY, PROJECTS_LOCAL_STORAGE_KEY, ICON_MAP } from './constants'; const queryLabelFilters = (state) => state?.query?.[LABEL_FILTER_PARAM] || []; @@ -96,4 +96,4 @@ export const navigationItems = (state) => items: [], })); -export const hasProjectContext = (state) => !state.query?.[PROJECT_DATA.queryParam]; +export const hasMissingProjectContext = (state) => !state?.projectInitialJson?.id; diff --git a/spec/frontend/search/sidebar/components/blobs_filters_spec.js b/spec/frontend/search/sidebar/components/blobs_filters_spec.js index b5cbffadd2be96714ee7db6b5d5cab4ca96c778f..1ae2636e3b796e1431c8451c467edeeac1c75d58 100644 --- a/spec/frontend/search/sidebar/components/blobs_filters_spec.js +++ b/spec/frontend/search/sidebar/components/blobs_filters_spec.js @@ -20,7 +20,7 @@ describe('GlobalSearch BlobsFilters', () => { const defaultGetters = { currentScope: () => 'blobs', - hasProjectContext: () => true, + hasMissingProjectContext: () => true, }; const createComponent = (initialState = { searchType: SEARCH_TYPE_ADVANCED }) => { @@ -70,7 +70,7 @@ describe('GlobalSearch BlobsFilters', () => { ${SEARCH_TYPE_ZOEKT} | ${false} | ${false} `('sidebar blobs fork filter:', ({ searchType, hasProjectContent, isShown }) => { beforeEach(() => { - defaultGetters.hasProjectContext = () => hasProjectContent; + defaultGetters.hasMissingProjectContext = () => hasProjectContent; createComponent({ searchType }); }); @@ -89,7 +89,7 @@ describe('GlobalSearch BlobsFilters', () => { ${SEARCH_TYPE_ZOEKT} | ${false} | ${false} `('sidebar blobs archived filter:', ({ searchType, hasProjectContent, isShown }) => { beforeEach(() => { - defaultGetters.hasProjectContext = () => hasProjectContent; + defaultGetters.hasMissingProjectContext = () => hasProjectContent; createComponent({ searchType }); }); diff --git a/spec/frontend/search/sidebar/components/commits_filters_spec.js b/spec/frontend/search/sidebar/components/commits_filters_spec.js index 64fb6e6203d6dd0737459248591221ddfd8743c3..4ff50c87bd144960b38931175f1ed3c95ae740e8 100644 --- a/spec/frontend/search/sidebar/components/commits_filters_spec.js +++ b/spec/frontend/search/sidebar/components/commits_filters_spec.js @@ -12,7 +12,7 @@ describe('GlobalSearch CommitsFilters', () => { let wrapper; const defaultGetters = { - hasProjectContext: () => true, + hasMissingProjectContext: () => true, }; const createComponent = () => { @@ -41,9 +41,9 @@ describe('GlobalSearch CommitsFilters', () => { }); }); - describe('hasProjectContext getter', () => { + describe('hasMissingProjectContext getter', () => { beforeEach(() => { - defaultGetters.hasProjectContext = () => false; + defaultGetters.hasMissingProjectContext = () => false; createComponent(); }); diff --git a/spec/frontend/search/sidebar/components/issues_filters_spec.js b/spec/frontend/search/sidebar/components/issues_filters_spec.js index 811960eef7b9063fd817ee8d404461419df060f1..473c8895230ed6069c94a8c8b24a394b7e6dfd52 100644 --- a/spec/frontend/search/sidebar/components/issues_filters_spec.js +++ b/spec/frontend/search/sidebar/components/issues_filters_spec.js @@ -17,7 +17,7 @@ describe('GlobalSearch IssuesFilters', () => { const defaultGetters = { currentScope: () => 'issues', - hasProjectContext: () => true, + hasMissingProjectContext: () => true, }; const createComponent = ({ initialState = {} } = {}) => { @@ -83,9 +83,9 @@ describe('GlobalSearch IssuesFilters', () => { }); }); - describe('hasProjectContext getter', () => { + describe('hasMissingProjectContext getter', () => { beforeEach(() => { - defaultGetters.hasProjectContext = () => false; + defaultGetters.hasMissingProjectContext = () => false; createComponent(); }); diff --git a/spec/frontend/search/sidebar/components/merge_requests_filters_spec.js b/spec/frontend/search/sidebar/components/merge_requests_filters_spec.js index 7ab035af2b89f4e712437966dea4ddb59ecb58c4..c9ef8488b38a7b85dafc391097086760ee16612b 100644 --- a/spec/frontend/search/sidebar/components/merge_requests_filters_spec.js +++ b/spec/frontend/search/sidebar/components/merge_requests_filters_spec.js @@ -16,7 +16,7 @@ describe('GlobalSearch MergeRequestsFilters', () => { const defaultGetters = { currentScope: () => 'merge_requests', - hasProjectContext: () => true, + hasMissingProjectContext: () => true, }; const createComponent = (initialState = {}) => { @@ -77,9 +77,9 @@ describe('GlobalSearch MergeRequestsFilters', () => { }); }); - describe('hasProjectContext getter', () => { + describe('hasMissingProjectContext getter', () => { beforeEach(() => { - defaultGetters.hasProjectContext = () => false; + defaultGetters.hasMissingProjectContext = () => false; createComponent(); }); diff --git a/spec/frontend/search/sidebar/components/milestones_filters_spec.js b/spec/frontend/search/sidebar/components/milestones_filters_spec.js index 2a4989e48fcc600d8aadfc526049d8f619a52ba3..4183bdc558e26ed526add0d963e238bf8a10809f 100644 --- a/spec/frontend/search/sidebar/components/milestones_filters_spec.js +++ b/spec/frontend/search/sidebar/components/milestones_filters_spec.js @@ -12,7 +12,7 @@ describe('GlobalSearch MilestonesFilters', () => { let wrapper; const defaultGetters = { - hasProjectContext: () => true, + hasMissingProjectContext: () => true, }; const findArchivedFilter = () => wrapper.findComponent(ArchivedFilter); @@ -41,9 +41,9 @@ describe('GlobalSearch MilestonesFilters', () => { }); }); - describe('hasProjectContext getter', () => { + describe('hasMissingProjectContext getter', () => { beforeEach(() => { - defaultGetters.hasProjectContext = () => false; + defaultGetters.hasMissingProjectContext = () => false; createComponent(); }); diff --git a/spec/frontend/search/sidebar/components/notes_filters_spec.js b/spec/frontend/search/sidebar/components/notes_filters_spec.js index 17b197507e6e908c62b59cc4748d13a09c9cc763..d10cdffacbea7d98f8e6b363db47c972f553288d 100644 --- a/spec/frontend/search/sidebar/components/notes_filters_spec.js +++ b/spec/frontend/search/sidebar/components/notes_filters_spec.js @@ -12,7 +12,7 @@ describe('GlobalSearch ProjectsFilters', () => { let wrapper; const defaultGetters = { - hasProjectContext: () => true, + hasMissingProjectContext: () => true, }; const createComponent = () => { @@ -41,9 +41,9 @@ describe('GlobalSearch ProjectsFilters', () => { }); }); - describe('hasProjectContext getter', () => { + describe('hasMissingProjectContext getter', () => { beforeEach(() => { - defaultGetters.hasProjectContext = () => false; + defaultGetters.hasMissingProjectContext = () => false; createComponent(); }); diff --git a/spec/frontend/search/sidebar/components/wiki_blobs_filters_spec.js b/spec/frontend/search/sidebar/components/wiki_blobs_filters_spec.js index ddb820d0543108f6bc562f2d95ce6ba15fee8f20..2e6d438db9398cb6da6e50dc858dd4927cc9244b 100644 --- a/spec/frontend/search/sidebar/components/wiki_blobs_filters_spec.js +++ b/spec/frontend/search/sidebar/components/wiki_blobs_filters_spec.js @@ -12,7 +12,7 @@ describe('GlobalSearch WikiBlobsFilters', () => { let wrapper; const defaultGetters = { - hasProjectContext: () => true, + hasMissingProjectContext: () => true, }; const createComponent = () => { @@ -41,9 +41,9 @@ describe('GlobalSearch WikiBlobsFilters', () => { }); }); - describe('hasProjectContext getter', () => { + describe('hasMissingProjectContext getter', () => { beforeEach(() => { - defaultGetters.hasProjectContext = () => false; + defaultGetters.hasMissingProjectContext = () => false; createComponent(); }); diff --git a/spec/frontend/search/store/getters_spec.js b/spec/frontend/search/store/getters_spec.js index e3c4240d9ed6096f084ee29d8686963aacbb377f..a610353663fd6256f6fb63bdc7ec832d741897cb 100644 --- a/spec/frontend/search/store/getters_spec.js +++ b/spec/frontend/search/store/getters_spec.js @@ -159,15 +159,19 @@ describe('Global Search Store Getters', () => { expect(getters.unappliedNewLabels(state).map(({ key }) => key)).toStrictEqual(['6', '73']); }); }); - describe('hasProjectContext', () => { - it('returns true project_id is NOT in query', () => { - state.query.project_id = undefined; - expect(getters.hasProjectContext(state)).toBe(true); - }); - - it('returns false project_id is in query', () => { - state.query.project_id = 'test'; - expect(getters.hasProjectContext(state)).toBe(false); + describe('hasMissingProjectContext', () => { + it('returns true projectInitialJson.id is NOT in query', () => { + state.projectInitialJson = { + id: undefined, + }; + expect(getters.hasMissingProjectContext(state)).toBe(true); + }); + + it('returns false projectInitialJson.id is in query', () => { + state.projectInitialJson = { + id: 'test', + }; + expect(getters.hasMissingProjectContext(state)).toBe(false); }); }); });