22 lines
991 B
JavaScript
22 lines
991 B
JavaScript
import assert from 'node:assert/strict';
|
|
import { readFileSync } from 'node:fs';
|
|
import { test } from 'node:test';
|
|
|
|
const webConfig = readFileSync(new URL('../public/web.config', import.meta.url), 'utf8');
|
|
const deployScript = readFileSync(new URL('../../tools/deploy-web-apps.ps1', import.meta.url), 'utf8');
|
|
const angularConfig = readFileSync(new URL('../angular.json', import.meta.url), 'utf8');
|
|
|
|
test('website web.config routes IIS requests through the Angular SSR server', () => {
|
|
assert.match(webConfig, /iisnode/i);
|
|
assert.match(webConfig, /server\.mjs/);
|
|
assert.match(webConfig, /node_env/i);
|
|
assert.match(webConfig, /api\/releases/i);
|
|
});
|
|
|
|
test('IIS deployment publishes the full SSR output instead of only browser assets', () => {
|
|
assert.match(deployScript, /website\\dist\\toju-website(?!\\browser)/);
|
|
});
|
|
|
|
test('web.config is kept at the SSR release root, not copied as a browser asset', () => {
|
|
assert.match(angularConfig, /"ignore":\s*\[\s*"web\.config"\s*\]/);
|
|
}); |