diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-23 15:11:53 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-23 15:11:53 +0300 |
commit | 4a7ca716f68682c41889dc480c029d71dd121f4e (patch) | |
tree | 69b4d87c3e2fc35636e64d1eba0078ea0e1a60b2 /spec/frontend/vue_shared/components/paginated_table_with_search_and_tabs | |
parent | 946a41d182e40dd37f73c44721edc9bc9c1a0f7c (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared/components/paginated_table_with_search_and_tabs')
-rw-r--r-- | spec/frontend/vue_shared/components/paginated_table_with_search_and_tabs/paginated_table_with_search_and_tabs_spec.js | 63 |
1 files changed, 33 insertions, 30 deletions
diff --git a/spec/frontend/vue_shared/components/paginated_table_with_search_and_tabs/paginated_table_with_search_and_tabs_spec.js b/spec/frontend/vue_shared/components/paginated_table_with_search_and_tabs/paginated_table_with_search_and_tabs_spec.js index 86a63db0d9e..25bfa688e5b 100644 --- a/spec/frontend/vue_shared/components/paginated_table_with_search_and_tabs/paginated_table_with_search_and_tabs_spec.js +++ b/spec/frontend/vue_shared/components/paginated_table_with_search_and_tabs/paginated_table_with_search_and_tabs_spec.js @@ -108,16 +108,23 @@ describe('AlertManagementEmptyState', () => { const findStatusTabs = () => wrapper.findComponent(GlTabs); const findStatusFilterBadge = () => wrapper.findAllComponents(GlBadge); + const handleFilterItems = (filters) => { + Filters().vm.$emit('onFilter', filters); + return nextTick(); + }; + describe('Snowplow tracking', () => { + const category = 'category'; + const action = 'action'; + beforeEach(() => { jest.spyOn(Tracking, 'event'); mountComponent({ - props: { trackViewsOptions: { category: 'category', action: 'action' } }, + props: { trackViewsOptions: { category, action } }, }); }); it('should track the items list page views', () => { - const { category, action } = wrapper.vm.trackViewsOptions; expect(Tracking.event).toHaveBeenCalledWith(category, action); }); }); @@ -234,14 +241,14 @@ describe('AlertManagementEmptyState', () => { findPagination().vm.$emit('input', 3); await nextTick(); - expect(wrapper.vm.previousPage).toBe(2); + expect(findPagination().props('prevPage')).toBe(2); }); it('returns 0 when it is the first page', async () => { findPagination().vm.$emit('input', 1); await nextTick(); - expect(wrapper.vm.previousPage).toBe(0); + expect(findPagination().props('prevPage')).toBe(0); }); }); @@ -265,14 +272,14 @@ describe('AlertManagementEmptyState', () => { findPagination().vm.$emit('input', 1); await nextTick(); - expect(wrapper.vm.nextPage).toBe(2); + expect(findPagination().props('nextPage')).toBe(2); }); it('returns `null` when currentPage is already last page', async () => { findStatusTabs().vm.$emit('input', 1); findPagination().vm.$emit('input', 1); await nextTick(); - expect(wrapper.vm.nextPage).toBeNull(); + expect(findPagination().props('nextPage')).toBeNull(); }); }); }); @@ -320,36 +327,32 @@ describe('AlertManagementEmptyState', () => { it('returns correctly applied filter search values', async () => { const searchTerm = 'foo'; - // setData usage is discouraged. See https://gitlab.com/groups/gitlab-org/-/epics/7330 for details - // eslint-disable-next-line no-restricted-syntax - wrapper.setData({ - searchTerm, - }); - + await handleFilterItems([{ type: 'filtered-search-term', value: { data: searchTerm } }]); await nextTick(); - expect(wrapper.vm.filteredSearchValue).toEqual([searchTerm]); + expect(Filters().props('initialFilterValue')).toEqual([searchTerm]); }); - it('updates props tied to getIncidents GraphQL query', () => { - wrapper.vm.handleFilterItems(mockFilters); - - expect(wrapper.vm.authorUsername).toBe('root'); - expect(wrapper.vm.assigneeUsername).toEqual('root2'); - expect(wrapper.vm.searchTerm).toBe(mockFilters[2].value.data); - }); + it('updates props tied to getIncidents GraphQL query', async () => { + await handleFilterItems(mockFilters); - it('updates props `searchTerm` and `authorUsername` with empty values when passed filters param is empty', () => { - // setData usage is discouraged. See https://gitlab.com/groups/gitlab-org/-/epics/7330 for details - // eslint-disable-next-line no-restricted-syntax - wrapper.setData({ - authorUsername: 'foo', - searchTerm: 'bar', - }); + const [ + { + value: { data: authorUsername }, + }, + { + value: { data: assigneeUsername }, + }, + searchTerm, + ] = Filters().props('initialFilterValue'); - wrapper.vm.handleFilterItems([]); + expect(authorUsername).toBe('root'); + expect(assigneeUsername).toEqual('root2'); + expect(searchTerm).toBe(mockFilters[2].value.data); + }); - expect(wrapper.vm.authorUsername).toBe(''); - expect(wrapper.vm.searchTerm).toBe(''); + it('updates props `searchTerm` and `authorUsername` with empty values when passed filters param is empty', async () => { + await handleFilterItems([]); + expect(Filters().props('initialFilterValue')).toEqual([]); }); }); }); |