summaryrefslogtreecommitdiff
path: root/packages/integrations/node/test/node-middleware.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/node/test/node-middleware.test.js')
-rw-r--r--packages/integrations/node/test/node-middleware.test.js40
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');
});
});
});