import { nextTestSetup } from 'e2e-utils' import { check } from 'next-test-utils' describe('app dir - search params keys', () => { const { next } = nextTestSetup({ files: __dirname, }) it('should keep the React router instance the same when changing the search params', async () => { const browser = await next.browser('/') const searchParams = await browser .waitForElementByCss('#search-params') .text() await browser.elementByCss('#increment').click() await browser.elementByCss('#increment').click() await browser.elementByCss('#push').click() await check(async () => { const newSearchParams = await browser .waitForElementByCss('#search-params') .text() const count = await browser.waitForElementByCss('#count').text() return newSearchParams !== searchParams && count === '2' ? 'success' : 'retry' }, 'success') await browser.elementByCss('#increment').click() await browser.elementByCss('#increment').click() await browser.elementByCss('#replace').click() await check(async () => { const newSearchParams = await browser .waitForElementByCss('#search-params') .text() const count = await browser.waitForElementByCss('#count').text() return newSearchParams !== searchParams && count === '4' ? 'success' : 'retry' }, 'success') }) })