diff options
Diffstat (limited to 'spec/frontend/issues/list')
-rw-r--r-- | spec/frontend/issues/list/components/issues_list_app_spec.js | 29 | ||||
-rw-r--r-- | spec/frontend/issues/list/utils_spec.js | 37 |
2 files changed, 60 insertions, 6 deletions
diff --git a/spec/frontend/issues/list/components/issues_list_app_spec.js b/spec/frontend/issues/list/components/issues_list_app_spec.js index 88652ddc3cc..33c7ccac180 100644 --- a/spec/frontend/issues/list/components/issues_list_app_spec.js +++ b/spec/frontend/issues/list/components/issues_list_app_spec.js @@ -294,6 +294,28 @@ describe('CE IssuesListApp component', () => { }); describe('initial url params', () => { + describe('page', () => { + it('page_after is set from the url params', () => { + setWindowLocation('?page_after=randomCursorString'); + + wrapper = mountComponent(); + + expect(findIssuableList().props('urlParams')).toMatchObject({ + page_after: 'randomCursorString', + }); + }); + + it('page_before is set from the url params', () => { + setWindowLocation('?page_before=anotherRandomCursorString'); + + wrapper = mountComponent(); + + expect(findIssuableList().props('urlParams')).toMatchObject({ + page_before: 'anotherRandomCursorString', + }); + }); + }); + describe('search', () => { it('is set from the url params', () => { setWindowLocation(locationSearch); @@ -881,7 +903,12 @@ describe('CE IssuesListApp component', () => { }); it('does not update IssuableList with url params ', async () => { - const defaultParams = { sort: 'created_date', state: 'opened' }; + const defaultParams = { + page_after: null, + page_before: null, + sort: 'created_date', + state: 'opened', + }; expect(findIssuableList().props('urlParams')).toEqual(defaultParams); }); diff --git a/spec/frontend/issues/list/utils_spec.js b/spec/frontend/issues/list/utils_spec.js index 1d3e94df897..a60350d91c5 100644 --- a/spec/frontend/issues/list/utils_spec.js +++ b/spec/frontend/issues/list/utils_spec.js @@ -9,8 +9,8 @@ import { urlParamsWithSpecialValues, } from 'jest/issues/list/mock_data'; import { - defaultPageSizeParams, - largePageSizeParams, + PAGE_SIZE, + PAGE_SIZE_MANUAL, RELATIVE_POSITION_ASC, urlSortParams, } from '~/issues/list/constants'; @@ -29,10 +29,37 @@ describe('getInitialPageParams', () => { it.each(Object.keys(urlSortParams))( 'returns the correct page params for sort key %s', (sortKey) => { - const expectedPageParams = - sortKey === RELATIVE_POSITION_ASC ? largePageSizeParams : defaultPageSizeParams; + const firstPageSize = sortKey === RELATIVE_POSITION_ASC ? PAGE_SIZE_MANUAL : PAGE_SIZE; - expect(getInitialPageParams(sortKey)).toBe(expectedPageParams); + expect(getInitialPageParams(sortKey)).toEqual({ firstPageSize }); + }, + ); + + it.each(Object.keys(urlSortParams))( + 'returns the correct page params for sort key %s with afterCursor', + (sortKey) => { + const firstPageSize = sortKey === RELATIVE_POSITION_ASC ? PAGE_SIZE_MANUAL : PAGE_SIZE; + const afterCursor = 'randomCursorString'; + const beforeCursor = undefined; + + expect(getInitialPageParams(sortKey, afterCursor, beforeCursor)).toEqual({ + firstPageSize, + afterCursor, + }); + }, + ); + + it.each(Object.keys(urlSortParams))( + 'returns the correct page params for sort key %s with beforeCursor', + (sortKey) => { + const firstPageSize = sortKey === RELATIVE_POSITION_ASC ? PAGE_SIZE_MANUAL : PAGE_SIZE; + const afterCursor = undefined; + const beforeCursor = 'anotherRandomCursorString'; + + expect(getInitialPageParams(sortKey, afterCursor, beforeCursor)).toEqual({ + firstPageSize, + beforeCursor, + }); }, ); }); |