next.js/test/e2e/app-dir/use-cache-private/use-cache-private.test.ts
use-cache-private.test.ts41 lines1.2 KB
import { nextTestSetup } from 'e2e-utils'

const pprEnabled = process.env.__NEXT_CACHE_COMPONENTS === 'true'

describe('use-cache-private', () => {
  const { next, isNextDev } = nextTestSetup({
    files: __dirname,
  })

  it('excludes private caches from prerenders', async () => {
    const browser = await next.browser('/')

    expect(await browser.elementById('page-sentinel').text()).toBe(
      isNextDev || !pprEnabled ? 'runtime' : 'buildtime'
    )

    expect(await browser.elementById('private-sentinel').text()).toBe('runtime')
  })

  it('allows reading cookies in private caches', async () => {
    const browser = await next.browser('/cookies')

    expect(await browser.elementById('test-cookie').text()).toBe('<empty>')

    await browser.addCookie({ name: 'test-cookie', value: 'foo' })
    await browser.refresh()

    expect(await browser.elementById('test-cookie').text()).toBe('foo')
  })

  it('allows reading search params in private caches', async () => {
    const browser = await next.browser('/search-params?q=foo')

    expect(await browser.elementById('search-param').text()).toBe('foo')

    await browser.loadPage(new URL('/search-params?q=bar', next.url).href)

    expect(await browser.elementById('search-param').text()).toBe('bar')
  })
})
Quest for Codev2.0.0
/
SIGN IN