diff options
Diffstat (limited to 'packages/integrations/node/test/node-middleware.test.js')
-rw-r--r-- | packages/integrations/node/test/node-middleware.test.js | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/packages/integrations/node/test/node-middleware.test.js b/packages/integrations/node/test/node-middleware.test.js index a658f93ef..350e48c7a 100644 --- a/packages/integrations/node/test/node-middleware.test.js +++ b/packages/integrations/node/test/node-middleware.test.js @@ -3,35 +3,51 @@ import { loadFixture } from './test-utils.js'; import { expect } from 'chai'; import * as cheerio from 'cheerio'; -describe('test 404 cant load', () => { +/** + * @typedef {import('../../../astro/test/test-utils').Fixture} Fixture + */ + +async function load() { + const mod = await import(`./fixtures/node-middleware/dist/server/entry.mjs?dropcache=${Date.now()}`); + return mod; +} + +describe('behavior from middleware', () => { + /** @type {import('./test-utils').Fixture} */ let fixture; + let server; + before(async () => { + process.env.ASTRO_NODE_AUTOSTART = 'disabled'; + process.env.PRERENDER = false; fixture = await loadFixture({ root: './fixtures/node-middleware/', output: 'server', adapter: nodejs({ mode: 'standalone' }), }); await fixture.build(); + const { startServer } = await load(); + let res = startServer(); + server = res.server; }); - describe('test 404', async () => { - let devPreview; - before(async () => { - devPreview = await fixture.preview(); - }); - after(async () => { - await devPreview.stop(); - }); + after(async () => { + await server.stop(); + await fixture.clean(); + delete process.env.PRERENDER; + }) + + describe('404', async () => { it('when mode is standalone', async () => { - const res = await fixture.fetch('/error-page'); + const res = await fetch(`http://${server.host}:${server.port}/error-page`); expect(res.status).to.equal(404); const html = await res.text(); const $ = cheerio.load(html); - const h1 = $('h1'); - expect(h1.text()).to.equal('404!!!!!!!!!!'); + const body = $('body'); + expect(body.text()).to.equal('Page does not exist'); }); }); }); |