diff options
Diffstat (limited to 'spec/frontend/boards/components/issue_board_filtered_search_spec.js')
-rw-r--r-- | spec/frontend/boards/components/issue_board_filtered_search_spec.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/spec/frontend/boards/components/issue_board_filtered_search_spec.js b/spec/frontend/boards/components/issue_board_filtered_search_spec.js new file mode 100644 index 00000000000..0e3cf59901e --- /dev/null +++ b/spec/frontend/boards/components/issue_board_filtered_search_spec.js @@ -0,0 +1,44 @@ +import { shallowMount } from '@vue/test-utils'; +import BoardFilteredSearch from '~/boards/components/board_filtered_search.vue'; +import IssueBoardFilteredSpec from '~/boards/components/issue_board_filtered_search.vue'; +import { BoardType } from '~/boards/constants'; +import issueBoardFilters from '~/boards/issue_board_filters'; +import { mockTokens } from '../mock_data'; + +describe('IssueBoardFilter', () => { + let wrapper; + + const createComponent = ({ initialFilterParams = {} } = {}) => { + wrapper = shallowMount(IssueBoardFilteredSpec, { + provide: { initialFilterParams }, + props: { fullPath: '', boardType: '' }, + }); + }; + + afterEach(() => { + wrapper.destroy(); + }); + + describe('default', () => { + beforeEach(() => { + createComponent(); + }); + + it('finds BoardFilteredSearch', () => { + expect(wrapper.find(BoardFilteredSearch).exists()).toBe(true); + }); + + it.each([[BoardType.group], [BoardType.project]])( + 'when boardType is %s we pass the correct tokens to BoardFilteredSearch', + (boardType) => { + const { fetchAuthors, fetchLabels } = issueBoardFilters({}, '', boardType); + + const tokens = mockTokens(fetchLabels, fetchAuthors); + + expect(wrapper.find(BoardFilteredSearch).props('tokens').toString()).toBe( + tokens.toString(), + ); + }, + ); + }); +}); |