CI — Test & Build / 🧪 Run Tests & Generate Reports (push) Waiting to run
CI — Test & Build / 🏗️ Build Docker Image (push) Blocked by required conditions
CI — Test & Build / 🐳 Docker integration & API E2E (push) Blocked by required conditions
CI — Test & Build / 🌐 Staging Playwright smoke (push) Waiting to run
25 lines
1017 B
JavaScript
25 lines
1017 B
JavaScript
#!/usr/bin/env node
|
|
|
|
const assert = require('assert/strict');
|
|
const fs = require('fs');
|
|
const os = require('os');
|
|
const path = require('path');
|
|
const { backupAndWriteAtomically } = require('../content-editor');
|
|
|
|
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'mozdit-content-save-'));
|
|
try {
|
|
const target = path.join(tempDir, 'home.json');
|
|
const backupDir = path.join(tempDir, 'backups');
|
|
const original = { title: 'Eredeti', enabled: true };
|
|
const replacement = { title: 'Új', enabled: false };
|
|
fs.writeFileSync(target, JSON.stringify(original) + '\n');
|
|
|
|
const backupFile = backupAndWriteAtomically(target, replacement, backupDir);
|
|
assert.deepEqual(JSON.parse(fs.readFileSync(target, 'utf8')), replacement);
|
|
assert.deepEqual(JSON.parse(fs.readFileSync(backupFile, 'utf8')), original);
|
|
assert.equal(fs.readdirSync(tempDir).some(name => name.endsWith('.tmp')), false);
|
|
console.log('Content Editor atomic save test: OK');
|
|
} finally {
|
|
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
}
|