| | import { nextTestSetup } from 'e2e-utils' |
| | import { waitForStaticIndicator } from 'next-test-utils' |
| |
|
| | const withCacheComponents = process.env.__NEXT_CACHE_COMPONENTS === 'true' |
| |
|
| | describe('dev indicator - route type', () => { |
| | const { next } = nextTestSetup({ |
| | files: __dirname, |
| | }) |
| |
|
| | describe('getServerSideProps', () => { |
| | it('should update when going from dynamic -> static', async () => { |
| | const browser = await next.browser('/pages/gssp') |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| |
|
| | |
| | await browser.elementByCss("[href='/pages']").click() |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| | }) |
| |
|
| | it('should update when going from static -> dynamic', async () => { |
| | const browser = await next.browser('/pages') |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| |
|
| | |
| | await browser.elementByCss("[href='/pages/gssp']").click() |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| | }) |
| |
|
| | it('should be marked dynamic on first load', async () => { |
| | const browser = await next.browser('/pages/gssp') |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| | }) |
| | }) |
| |
|
| | describe('getInitialProps', () => { |
| | it('should be marked dynamic on first load', async () => { |
| | const browser = await next.browser('/pages/gip') |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| | }) |
| |
|
| | it('should update when going from dynamic -> static', async () => { |
| | const browser = await next.browser('/pages/gip') |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| |
|
| | await browser.elementByCss("[href='/pages']").click() |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| | }) |
| |
|
| | it('should update when going from static -> dynamic', async () => { |
| | const browser = await next.browser('/pages') |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| |
|
| | await browser.elementByCss("[href='/pages/gip']").click() |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| | }) |
| | }) |
| |
|
| | describe('getStaticPaths', () => { |
| | it('should be marked static on first load', async () => { |
| | const browser = await next.browser('/pages/pregenerated') |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| | }) |
| |
|
| | it('should update when going from dynamic -> static', async () => { |
| | const browser = await next.browser('/pages/gssp') |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| |
|
| | await browser.elementByCss("[href='/pages/pregenerated']").click() |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| | }) |
| | }) |
| |
|
| | it('should have route type as static by default for static page', async () => { |
| | const browser = await next.browser('/pages') |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| | }) |
| |
|
| | describe('with App Router', () => { |
| | describe('when loading a dynamic page', () => { |
| | if (withCacheComponents) { |
| | describe('with Cache Components enabled', () => { |
| | it('should not show a static indicator', async () => { |
| | const browser = await next.browser('/app/static-indicator/dynamic') |
| | await waitForStaticIndicator(browser, undefined) |
| | }) |
| |
|
| | it('should still show a static indicator when navigating to a Pages Router page', async () => { |
| | const browser = await next.browser('/app/static-indicator/dynamic') |
| | await waitForStaticIndicator(browser, undefined) |
| |
|
| | await browser.elementByCss("[href='/pages']").click() |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| | }) |
| | }) |
| | } else { |
| | describe('with Cache Components disabled', () => { |
| | it('should be marked dynamic on first load', async () => { |
| | const browser = await next.browser('/app/static-indicator/dynamic') |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| | }) |
| |
|
| | it('should update when going from dynamic -> static', async () => { |
| | const browser = await next.browser('/app/static-indicator/dynamic') |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| |
|
| | await browser |
| | .elementByCss("[href='/app/static-indicator/static']") |
| | .click() |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| | }) |
| | }) |
| | } |
| | }) |
| |
|
| | describe('when loading a static page', () => { |
| | if (withCacheComponents) { |
| | describe('with Cache Components enabled', () => { |
| | it('should not show a static indicator', async () => { |
| | const browser = await next.browser('/app/static-indicator/static') |
| | await waitForStaticIndicator(browser, undefined) |
| | }) |
| |
|
| | it('should still show a static indicator when navigating to a Pages Router page', async () => { |
| | const browser = await next.browser('/app/static-indicator/static') |
| | await waitForStaticIndicator(browser, undefined) |
| |
|
| | await browser.elementByCss("[href='/pages/gssp']").click() |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| | }) |
| | }) |
| | } else { |
| | describe('with Cache Components disabled', () => { |
| | it('should be marked static on first load', async () => { |
| | const browser = await next.browser('/app/static-indicator/static') |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| | }) |
| |
|
| | it('should update when going from static -> dynamic', async () => { |
| | const browser = await next.browser('/app/static-indicator/static') |
| |
|
| | await waitForStaticIndicator(browser, 'Static') |
| |
|
| | await browser |
| | .elementByCss("[href='/app/static-indicator/dynamic']") |
| | .click() |
| |
|
| | await waitForStaticIndicator(browser, 'Dynamic') |
| | }) |
| | }) |
| | } |
| | }) |
| | }) |
| | }) |
| |
|