diff --git a/test/integration/rewrites-has-condition/pages/index.js b/test/integration/rewrites-has-condition/pages/index.js new file mode 100644 index 0000000000000..03d94c49cc653 --- /dev/null +++ b/test/integration/rewrites-has-condition/pages/index.js @@ -0,0 +1,18 @@ +import Link from 'next/link' + +export default function Page(props) { + return ( + <> +

index page

+ + to /rewrite-simple + +
+ + + to /rewrite-with-has?hasQuery=true + +
+ + ) +} diff --git a/test/integration/rewrites-has-condition/test/index.test.js b/test/integration/rewrites-has-condition/test/index.test.js index 8ada5130e3fb8..06464e1e3479b 100644 --- a/test/integration/rewrites-has-condition/test/index.test.js +++ b/test/integration/rewrites-has-condition/test/index.test.js @@ -18,33 +18,32 @@ let appPort let app const runTests = () => { - it('should load page rewrite without browser errors', async () => { - const browser = await webdriver(appPort, '/rewrite-simple') + it('should navigate to a simple rewrite without error', async () => { + const browser = await webdriver(appPort, '/') + await browser.eval('window.beforeNav = 1') - expect(await browser.waitForElementByCss('#another').text()).toBe( - 'another page' - ) - - const browserLogs = await browser.log('browser') - const errorLogs = browserLogs.filter((log) => { - return log.level.name === 'SEVERE' && log.message.includes('Error:') - }) - expect(errorLogs).toEqual([]) + await browser + .elementByCss('#to-simple') + .click() + .waitForElementByCss('#another') + expect(await browser.elementByCss('#pathname').text()).toBe('/another') + expect(JSON.parse(await browser.elementByCss('#query').text())).toEqual({}) + expect(await browser.eval('window.beforeNav')).toBe(1) }) - // Regression test for https://github.com/vercel/next.js/issues/25207 - it('should load page rewrite, with "has" condition, without browser errors', async () => { - const browser = await webdriver(appPort, '/rewrite-with-has?hasQuery=123') - - expect(await browser.waitForElementByCss('#another').text()).toBe( - 'another page' - ) + it('should navigate to a has rewrite without error', async () => { + const browser = await webdriver(appPort, '/') + await browser.eval('window.beforeNav = 1') - const browserLogs = await browser.log('browser') - const errorLogs = browserLogs.filter((log) => { - return log.level.name === 'SEVERE' && log.message.includes('Error:') + await browser + .elementByCss('#to-has-rewrite') + .click() + .waitForElementByCss('#another') + expect(await browser.elementByCss('#pathname').text()).toBe('/another') + expect(JSON.parse(await browser.elementByCss('#query').text())).toEqual({ + hasQuery: 'true', }) - expect(errorLogs).toEqual([]) + expect(await browser.eval('window.beforeNav')).toBe(1) }) }