test(cms): run-unique markers so a crashed run cannot poison the next
CI Pipeline with Test Management / 🧪 Run Tests & Generate Reports (push) Waiting to run
CI Pipeline with Test Management / 🐳 Docker Integration Tests (push) Blocked by required conditions
CI Pipeline with Test Management / 🏗️ Build Docker Image (push) Blocked by required conditions
CI Pipeline with Test Management / 📊 Generate Test Summary (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / 🧪 Run Tests & Generate Reports (push) Waiting to run
Test Reporting & Gherkin Analysis / 📊 Analyze Test Coverage (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / 🔄 Sync with Linear (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / ⚡ Performance Monitoring (push) Blocked by required conditions

The versions integration test asserted against fixed marker strings; if a
run crashed before restoring contact.json, the next run read the polluted
file as its baseline and its expectations collapsed. Markers now carry a
per-run timestamp.
This commit is contained in:
Do Siki
2026-08-19 14:30:58 +02:00
parent c0579198f8
commit aa8d92646c
+5 -4
View File
@@ -75,10 +75,11 @@ async function main() {
try {
// Create two saves → two backups of intermediate states
const runId = Date.now();
const v1 = JSON.parse(original);
v1.hero.subtitle = 'Verzió teszt #1';
v1.hero.subtitle = 'Verzió teszt #1 ' + runId;
const v2 = JSON.parse(original);
v2.hero.subtitle = 'Verzió teszt #2';
v2.hero.subtitle = 'Verzió teszt #2 ' + runId;
for (const variant of [v1, v2]) {
const res = await fetch(`${BASE}/save?file=contact`, {
@@ -120,7 +121,7 @@ async function main() {
const backupHoldingV1 = fs.readdirSync(backupDir)
.filter(name => name.startsWith('contact.'))
.filter(name => fs.statSync(path.join(backupDir, name)).mtimeMs >= testStartedAt)
.find(name => fs.readFileSync(path.join(backupDir, name), 'utf8').includes('Verzió teszt #1'));
.find(name => fs.readFileSync(path.join(backupDir, name), 'utf8').includes('Verzió teszt #1 ' + runId));
assert.ok(backupHoldingV1, 'seeded backup holding v1 must exist');
const diffPage = await (await fetch(`${BASE}/versions?file=contact&show=${backupHoldingV1}`, { headers: { Cookie: cookie } })).text();
@@ -134,7 +135,7 @@ async function main() {
headers: { Cookie: cookie, 'X-CSRF-Token': csrf },
});
assert.equal(restore.status, 200);
assert.ok(fs.readFileSync(contentFile, 'utf8').includes('Verzió teszt #1'));
assert.ok(fs.readFileSync(contentFile, 'utf8').includes('Verzió teszt #1 ' + runId));
// restore created a new backup of the pre-restore state (reversibility)
const afterPage = await (await fetch(`${BASE}/versions?file=contact`, { headers: { Cookie: cookie } })).text();