61 lines
2.1 KiB
TypeScript
61 lines
2.1 KiB
TypeScript
import { createNextDescribe } from 'e2e-utils'
|
|
|
|
createNextDescribe(
|
|
'app dir - layout params',
|
|
{
|
|
files: __dirname,
|
|
},
|
|
({ next }) => {
|
|
describe('basic params', () => {
|
|
it('check layout without params get no params', async () => {
|
|
const $ = await next.render$('/base/something/another')
|
|
const ids = ['#root-layout', '#lvl1-layout']
|
|
ids.forEach((divId) => {
|
|
const params = $(`${divId} > div`)
|
|
expect(params.length).toBe(0)
|
|
})
|
|
})
|
|
|
|
it("check layout renders just it's params", async () => {
|
|
const $ = await next.render$('/base/something/another')
|
|
|
|
expect($('#lvl2-layout > div').length).toBe(1)
|
|
expect($('#lvl2-param1').text()).toBe('"something"')
|
|
})
|
|
|
|
it('check topmost layout renders all params', async () => {
|
|
const $ = await next.render$('/base/something/another')
|
|
|
|
expect($('#lvl3-layout > div').length).toBe(2)
|
|
expect($('#lvl3-param1').text()).toBe('"something"')
|
|
expect($('#lvl3-param2').text()).toBe('"another"')
|
|
})
|
|
})
|
|
|
|
describe('catchall params', () => {
|
|
it('should give catchall params just to last layout', async () => {
|
|
const $ = await next.render$('/catchall/something/another')
|
|
|
|
expect($(`#root-layout > div`).length).toBe(0)
|
|
expect($('#lvl2-layout > div').length).toBe(1)
|
|
expect($('#lvl2-params').text()).toBe('["something","another"]')
|
|
})
|
|
|
|
it('should give optional catchall params just to last layout', async () => {
|
|
const $ = await next.render$('/optional-catchall/something/another')
|
|
|
|
expect($(`#root-layout > div`).length).toBe(0)
|
|
|
|
expect($('#lvl2-layout > div').length).toBe(1)
|
|
expect($('#lvl2-params').text()).toBe('["something","another"]')
|
|
})
|
|
|
|
it("should give empty optional catchall params won't give params to any layout", async () => {
|
|
const $ = await next.render$('/optional-catchall')
|
|
|
|
expect($(`#root-layout > div`).length).toBe(0)
|
|
expect($('#lvl2-layout > div').length).toBe(0)
|
|
})
|
|
})
|
|
}
|
|
)
|