Analyse: geo-update holt Neustart nach (Marker), Runner-Test für build-Injektion

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-01 11:04:50 +00:00
1 parent 714687fe3b
commit 466fcffa21
3 files changed
+85 -3

No files matched your search

+18
View File
@@ -40,6 +40,24 @@ test('static: kopiert ohne .git, Rechte 755/644', async () => {
assert.equal(s.calls.length, 0);
});
test('build: Analyse wird in den gebauten Ausgabeordner eingesetzt (wie bei static), Dev nicht', async () => {
const analytics = { siteKey: 'abcdefghij0123456789', color: '#2b6cb0', privacy: { company: 'Muster GmbH', address: 'Weg 1, 12345 Ort', email: 'info@muster.de' } };
const s = setup({
cfg: { analyticsPublicBase: 'https://project.webklar.com/a/' },
files: { 'package.json': PKG() },
dockerImpl: (args) => { if (args.includes('build')) { mkdirSync(join(workOf(args), 'dist'), { recursive: true }); writeFileSync(join(workOf(args), 'dist', 'index.html'), '<html><head></head><body>NEU</body></html>'); } return { code: 0 }; },
});
const r = await wait(s.jobs, s.jobs.submit(job({ mode: 'build', analytics })));
assert.equal(r.state, 'done'); assert.equal(r.result, 'build');
const t = join(s.config.previewsRoot, 'demo');
assert.match(readFileSync(join(t, 'index.html'), 'utf8'), /<script data-wk-analytics [^>]*data-site="abcdefghij0123456789"/);
assert.ok(existsSync(join(t, 'datenschutz-analyse.html')));
const d = setup({ files: { 'package.json': PKG({ dev: 'vite' }) }, dockerImpl: () => ({ code: 0 }) });
const dr = await wait(d.jobs, d.jobs.submit(job({ mode: 'dev', analytics })));
assert.equal(dr.result, 'dev');
assert.ok(!existsSync(join(d.config.previewsRoot, 'demo')), 'dev veröffentlicht nichts, also keine Einsetzung');
});
test('build: Install+Build im Container (corepack für pnpm), Erfolg ersetzt Ordner atomar', async () => {
const s = setup({
files: { 'package.json': PKG(), 'pnpm-lock.yaml': '' },