Files
BetterDesk/web-nodejs/tests/updateService.consoleSync.test.js
T
UNITRONIX 248b4a049f fix(update): sync full console tree when compare diff is truncated (#173)
GitHub compare returns at most 300 changed files, so in-app panel updates could
deploy updated routes without new service modules (e.g. serverAttestation.js).
Add full web-nodejs tree sync on truncated diffs and repair missing local require
targets after incremental console updates.
2026-06-07 13:43:33 +02:00

34 lines
1.3 KiB
JavaScript

'use strict';
const {
GITHUB_COMPARE_FILE_LIMIT,
isCompareLikelyTruncated,
resolveConsoleRequire,
collectConsoleRequiredFiles
} = require('../services/updateService');
describe('updateService console sync helpers', () => {
test('detects truncated GitHub compare responses', () => {
expect(GITHUB_COMPARE_FILE_LIMIT).toBe(300);
expect(isCompareLikelyTruncated(299)).toBe(false);
expect(isCompareLikelyTruncated(300)).toBe(true);
expect(isCompareLikelyTruncated(450)).toBe(true);
});
test('resolves relative console require paths', () => {
expect(resolveConsoleRequire('routes/auth.routes.js', '../services/serverAttestation'))
.toBe('services/serverAttestation.js');
expect(resolveConsoleRequire('routes/index.js', './devices.routes'))
.toBe('routes/devices.routes.js');
expect(resolveConsoleRequire('server.js', 'express')).toBeNull();
});
test('collects serverAttestation from auth.routes integrity seeds', () => {
const required = collectConsoleRequiredFiles([
{ localPath: 'routes/auth.routes.js' }
]);
expect(required.has('routes/auth.routes.js')).toBe(true);
expect(required.has('services/serverAttestation.js')).toBe(true);
});
});