diff options
Diffstat (limited to 'spec/frontend/filtered_search')
-rw-r--r-- | spec/frontend/filtered_search/add_extra_tokens_for_merge_requests_spec.js | 30 | ||||
-rw-r--r-- | spec/frontend/filtered_search/issues_filtered_search_token_keys_spec.js | 22 |
2 files changed, 51 insertions, 1 deletions
diff --git a/spec/frontend/filtered_search/add_extra_tokens_for_merge_requests_spec.js b/spec/frontend/filtered_search/add_extra_tokens_for_merge_requests_spec.js new file mode 100644 index 00000000000..6b3490122c3 --- /dev/null +++ b/spec/frontend/filtered_search/add_extra_tokens_for_merge_requests_spec.js @@ -0,0 +1,30 @@ +import addExtraTokensForMergeRequests from 'ee_else_ce/filtered_search/add_extra_tokens_for_merge_requests'; +import { createFilteredSearchTokenKeys } from '~/filtered_search/issuable_filtered_search_token_keys'; + +describe('app/assets/javascripts/pages/dashboard/merge_requests/index.js', () => { + let IssuableFilteredSearchTokenKeys; + + beforeEach(() => { + IssuableFilteredSearchTokenKeys = createFilteredSearchTokenKeys(); + window.gon = { + ...window.gon, + features: { + mrApprovedFilter: true, + }, + }; + }); + + describe.each(['Branch', 'Environment'])('when $filter is disabled', (filter) => { + beforeEach(() => { + addExtraTokensForMergeRequests(IssuableFilteredSearchTokenKeys, { + [`disable${filter}Filter`]: true, + }); + }); + + it('excludes the filter', () => { + expect(IssuableFilteredSearchTokenKeys.tokenKeys).not.toContainEqual( + expect.objectContaining({ tag: filter.toLowerCase() }), + ); + }); + }); +}); diff --git a/spec/frontend/filtered_search/issues_filtered_search_token_keys_spec.js b/spec/frontend/filtered_search/issues_filtered_search_token_keys_spec.js index 2041bc3d959..35fdb02e208 100644 --- a/spec/frontend/filtered_search/issues_filtered_search_token_keys_spec.js +++ b/spec/frontend/filtered_search/issues_filtered_search_token_keys_spec.js @@ -1,4 +1,6 @@ -import IssuableFilteredSearchTokenKeys from '~/filtered_search/issuable_filtered_search_token_keys'; +import IssuableFilteredSearchTokenKeys, { + createFilteredSearchTokenKeys, +} from '~/filtered_search/issuable_filtered_search_token_keys'; describe('Issues Filtered Search Token Keys', () => { describe('get', () => { @@ -167,3 +169,21 @@ describe('Issues Filtered Search Token Keys', () => { }); }); }); + +describe('createFilteredSearchTokenKeys', () => { + describe.each(['Release'])('when $filter is disabled', (filter) => { + let tokens; + + beforeEach(() => { + tokens = createFilteredSearchTokenKeys({ + [`disable${filter}Filter`]: true, + }); + }); + + it('excludes the filter', () => { + expect(tokens.tokenKeys).not.toContainEqual( + expect.objectContaining({ tag: filter.toLowerCase() }), + ); + }); + }); +}); |