mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
The static indicator was added in the new dev overlay but wasn't hooked up to pages router. This wires that up so they're properly marked static/dynamic. Closes NDX-897
119 lines
3.5 KiB
TypeScript
119 lines
3.5 KiB
TypeScript
import { nextTestSetup } from 'e2e-utils'
|
|
import { getRouteTypeFromDevToolsIndicator, retry } from 'next-test-utils'
|
|
|
|
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('/gssp')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Dynamic')
|
|
})
|
|
|
|
// validate static -> dynamic updates
|
|
await browser.elementByCss("[href='/']").click()
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Static')
|
|
})
|
|
})
|
|
|
|
it('should update when going from static -> dynamic', async () => {
|
|
const browser = await next.browser('/')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Static')
|
|
})
|
|
|
|
// validate static -> dynamic updates
|
|
await browser.elementByCss("[href='/gssp']").click()
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Dynamic')
|
|
})
|
|
})
|
|
|
|
it('should be marked dynamic on first load', async () => {
|
|
const browser = await next.browser('/gssp')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Dynamic')
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('getInitialProps', () => {
|
|
it('should be marked dynamic on first load', async () => {
|
|
const browser = await next.browser('/gip')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Dynamic')
|
|
})
|
|
})
|
|
|
|
it('should update when going from dynamic -> static', async () => {
|
|
const browser = await next.browser('/gip')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Dynamic')
|
|
})
|
|
|
|
await browser.elementByCss("[href='/']").click()
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Static')
|
|
})
|
|
})
|
|
|
|
it('should update when going from static -> dynamic', async () => {
|
|
const browser = await next.browser('/')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Static')
|
|
})
|
|
|
|
await browser.elementByCss("[href='/gip']").click()
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Dynamic')
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('getStaticPaths', () => {
|
|
it('should be marked static on first load', async () => {
|
|
const browser = await next.browser('/pregenerated')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Static')
|
|
})
|
|
})
|
|
|
|
it('should update when going from dynamic -> static', async () => {
|
|
const browser = await next.browser('/gssp')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Dynamic')
|
|
})
|
|
|
|
await browser.elementByCss("[href='/pregenerated']").click()
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Static')
|
|
})
|
|
})
|
|
})
|
|
|
|
it('should have route type as static by default for static page', async () => {
|
|
const browser = await next.browser('/')
|
|
|
|
await retry(async () => {
|
|
expect(await getRouteTypeFromDevToolsIndicator(browser)).toBe('Static')
|
|
})
|
|
})
|
|
})
|