diff --git a/app/assets/javascripts/issues/list/constants.js b/app/assets/javascripts/issues/list/constants.js index 8c7e5e92910ead5095defe47e802b656db59f9da..3e2c923f0ac7b6cad638b2c2b7ca66f56d67a187 100644 --- a/app/assets/javascripts/issues/list/constants.js +++ b/app/assets/javascripts/issues/list/constants.js @@ -316,6 +316,9 @@ export const filtersMap = { [OPERATOR_IS]: { [NORMAL_FILTER]: 'source_branches[]', }, + [OPERATOR_NOT]: { + [NORMAL_FILTER]: 'not[source_branches][]', + }, }, }, [TOKEN_TYPE_TARGET_BRANCH]: { diff --git a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue index 29e179ef2fac759fff3f4aa3493339f61d64acf1..685c36ba9598a591de3fd8f41629d88760438c9c 100644 --- a/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue +++ b/app/assets/javascripts/merge_requests/list/components/merge_requests_list_app.vue @@ -353,7 +353,6 @@ export default { title: TOKEN_TITLE_SOURCE_BRANCH, icon: 'branch', token: BranchToken, - operators: OPERATORS_IS, fullPath: this.fullPath, isProject: true, fetchBranches: this.fetchSourceBranches, diff --git a/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js b/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js index 6c9beca7b330efbf94dbfcef25eab1a0e1aaaa7e..1af59ad9a190cde8eac7ecc90dda4d4f467bd902 100644 --- a/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js +++ b/spec/frontend/merge_requests/list/components/merge_requests_list_app_spec.js @@ -417,19 +417,31 @@ describe('Merge requests list app', () => { type: 'reviewer', value: { data: 'root', operator: OPERATOR_NOT }, }, + { + type: 'source-branch', + value: { data: ['branch_name'], operator: OPERATOR_NOT }, + }, ]); await nextTick(); expect(getQueryResponseMock).toHaveBeenCalledWith( expect.objectContaining({ - not: { assigneeUsernames: ['root'], reviewerUsername: 'root' }, + not: { + assigneeUsernames: ['root'], + reviewerUsername: 'root', + sourceBranches: ['branch_name'], + }, }), ); expect(getCountsQueryResponseMock).toHaveBeenCalledWith( expect.objectContaining({ - not: { assigneeUsernames: ['root'], reviewerUsername: 'root' }, + not: { + assigneeUsernames: ['root'], + reviewerUsername: 'root', + sourceBranches: ['branch_name'], + }, }), ); }); @@ -446,6 +458,10 @@ describe('Merge requests list app', () => { type: 'reviewer', value: { data: 'root', operator: OPERATOR_NOT }, }, + { + type: 'source-branch', + value: { data: ['branch_name'], operator: OPERATOR_NOT }, + }, ]); await nextTick(); @@ -454,6 +470,7 @@ describe('Merge requests list app', () => { query: expect.objectContaining({ 'not[assignee_username][]': ['root'], 'not[reviewer_username]': 'root', + 'not[source_branches][]': ['branch_name'], }), }); });