next.js/test/e2e/app-dir/route-page-manifest-bug/route-page-manifest-bug.test.ts
route-page-manifest-bug.test.ts50 lines1.5 KB
import { nextTestSetup } from 'e2e-utils'
import { check } from 'next-test-utils'

describe('route-page-manifest-bug', () => {
  const { next } = nextTestSetup({
    files: __dirname,
  })

  // Recommended for tests that check HTML. Cheerio is a HTML parser that has a jQuery like API.
  it('should work when requesting route handler after page', async () => {
    const browser = await next.browser('/')
    expect(await browser.elementByCss('#page-title').text()).toBe(
      'Page that would break'
    )
    await browser.eval('window.location.href = "/abc"')
    await check(
      () => browser.eval('document.body.textContent'),
      '{"url":"https://www.example.com"}'
    )
    await browser.refresh()
    await check(
      () => browser.eval('document.body.textContent'),
      '{"url":"https://www.example.com"}'
    )
    await browser.refresh()
    await check(
      () => browser.eval('document.body.textContent'),
      '{"url":"https://www.example.com"}'
    )
    await browser.refresh()
    await check(
      () => browser.eval('document.body.textContent'),
      '{"url":"https://www.example.com"}'
    )

    await browser.back()
    expect(await browser.waitForElementByCss('#page-title').text()).toBe(
      'Page that would break'
    )
    await browser.refresh()
    expect(await browser.waitForElementByCss('#page-title').text()).toBe(
      'Page that would break'
    )
    await browser.refresh()
    expect(await browser.waitForElementByCss('#page-title').text()).toBe(
      'Page that would break'
    )
  })
})
Quest for Codev2.0.0
/
SIGN IN