import { getPort, loadFixture, Nuxt } from '../utils' let port let nuxt = null describe('named views', () => { beforeAll(async () => { const options = await loadFixture('named-views') nuxt = new Nuxt(options) port = await getPort() await nuxt.server.listen(port, '0.0.0.0') }) test('/ - no child, no named', async () => { const { html } = await nuxt.server.renderRoute('/') expect(html).toContain('LEFT::LEFT') expect(html).toContain('CHILD::CHILD') expect(html).toContain('TOP::TOP') }) test('/section - have child, no named', async () => { const { html } = await nuxt.server.renderRoute('/section') expect(html).toContain('LEFT::LEFT') expect(html).toMatch(new RegExp('CHILD:This page does not have left panel.:CHILD')) expect(html).toContain('TOP::TOP') }) test('/child/123 - have child, have named', async () => { const { html } = await nuxt.server.renderRoute('/child/123') expect(html).toMatch(new RegExp('LEFT:Child Left content!:LEFT')) expect(html).toMatch(new RegExp('CHILD:Child content ID:123!:CHILD')) expect(html).toContain('TOP::TOP') }) test('/main - no child, no named left, have named top', async () => { const { html } = await nuxt.server.renderRoute('/main') expect(html).toMatch(new RegExp('TOP:Main Top content!:TOP')) expect(html).toContain('LEFT::LEFT') expect(html).toContain('CHILD::CHILD') }) })