feat: add federation state globals and test-only helpers to app.js
Add new module-level globals: - let _gridViewMode = 'flat' - let _activeFilterDevice = 'all' Add test-only helper functions: - _setSources(sources): sets internal _sources array - _setServerSettings(settings): sets internal _serverSettings - _getGridViewMode(): returns current _gridViewMode value - _getSources(): returns current _sources array All 4 helpers exported in module.exports. Tests added (all passing, 143/143): - '_setSources sets internal _sources array' - '_setServerSettings sets internal _serverSettings' - '_getGridViewMode returns current _gridViewMode value' - '_getSources returns current _sources array' Task: task-3 (federation state helpers)
This commit is contained in:
@@ -134,6 +134,8 @@ var _previewSessionName = null; // track by NAME, not DOM element
|
|||||||
let _sources = [];
|
let _sources = [];
|
||||||
let _settingsOpen = false;
|
let _settingsOpen = false;
|
||||||
let _serverSettings = null;
|
let _serverSettings = null;
|
||||||
|
let _gridViewMode = 'flat';
|
||||||
|
let _activeFilterDevice = 'all';
|
||||||
const DISPLAY_SETTINGS_KEY = 'muxplex.display';
|
const DISPLAY_SETTINGS_KEY = 'muxplex.display';
|
||||||
const DISPLAY_DEFAULTS = {
|
const DISPLAY_DEFAULTS = {
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
@@ -1671,6 +1673,18 @@ function _setViewMode(mode) {
|
|||||||
_viewMode = mode;
|
_viewMode = mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Test-only: set _sources directly. */
|
||||||
|
function _setSources(sources) { _sources = sources; }
|
||||||
|
|
||||||
|
/** Test-only: set _serverSettings directly. */
|
||||||
|
function _setServerSettings(settings) { _serverSettings = settings; }
|
||||||
|
|
||||||
|
/** Test-only: get _gridViewMode. */
|
||||||
|
function _getGridViewMode() { return _gridViewMode; }
|
||||||
|
|
||||||
|
/** Test-only: get _sources. */
|
||||||
|
function _getSources() { return _sources; }
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
initDeviceId();
|
initDeviceId();
|
||||||
applyDisplaySettings(loadDisplaySettings());
|
applyDisplaySettings(loadDisplaySettings());
|
||||||
@@ -1759,5 +1773,9 @@ if (typeof module !== 'undefined' && module.exports) {
|
|||||||
// Test-only helpers
|
// Test-only helpers
|
||||||
_setCurrentSessions,
|
_setCurrentSessions,
|
||||||
_setViewMode,
|
_setViewMode,
|
||||||
|
_setSources,
|
||||||
|
_setServerSettings,
|
||||||
|
_getGridViewMode,
|
||||||
|
_getSources,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2004,6 +2004,28 @@ test('createNewSession polls for session before auto-opening (not immediate setT
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// --- federation state helpers (task-3) ---
|
||||||
|
|
||||||
|
test('_setSources sets internal _sources array', () => {
|
||||||
|
assert.doesNotThrow(() => app._setSources([{ url: '', name: 'test' }]));
|
||||||
|
});
|
||||||
|
|
||||||
|
test('_setServerSettings sets internal _serverSettings', () => {
|
||||||
|
assert.doesNotThrow(() => app._setServerSettings({ sort_order: 'recent' }));
|
||||||
|
});
|
||||||
|
|
||||||
|
test('_getGridViewMode returns current _gridViewMode value', () => {
|
||||||
|
assert.strictEqual(typeof app._getGridViewMode(), 'string', '_getGridViewMode should return a string');
|
||||||
|
assert.strictEqual(app._getGridViewMode(), 'flat', '_gridViewMode should default to flat');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('_getSources returns current _sources array', () => {
|
||||||
|
app._setSources([{ url: 'http://test', name: 'Test' }]);
|
||||||
|
const sources = app._getSources();
|
||||||
|
assert.ok(Array.isArray(sources), '_getSources should return an array');
|
||||||
|
assert.strictEqual(sources[0].url, 'http://test', '_getSources should return value set by _setSources');
|
||||||
|
});
|
||||||
|
|
||||||
// --- buildSources ---
|
// --- buildSources ---
|
||||||
|
|
||||||
test('buildSources returns only local source when no remote_instances', () => {
|
test('buildSources returns only local source when no remote_instances', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user