dpl/frontends/hn/tests/config.test.mjs

22 lines
1.2 KiB
JavaScript

import {test} from 'node:test';
import assert from 'node:assert/strict';
import fs from 'node:fs';
import vm from 'node:vm';
import {adaptConfig} from '../runtime-config.mjs';
const source=fs.readFileSync(new URL('../../ez-theme/src/config/index.js',import.meta.url),'utf8').replace('export const config','const config');
const window={}; vm.runInNewContext(source,{window});
test('HN uses same-origin Xboard API and never inherits EZ demo services',()=>{
const config=adaptConfig(window.EZ_CONFIG,{title:'hardnerd',full_name:'hardnerd.net'},{hostname:'127.0.0.1'});
assert.equal(config.PANEL_TYPE,'Xboard');
assert.equal(config.API_CONFIG.urlMode,'auto');
assert.deepEqual(config.API_CONFIG.staticBaseUrl,[]);
assert.equal(config.API_CONFIG.autoConfig.apiPath,'/api/v1');
assert.equal(config.SITE_CONFIG.siteName,'hardnerd');
assert.equal(config.CUSTOMER_SERVICE_CONFIG.enabled,false);
assert.equal(config.TICKET_CONFIG.isImageHosting,false);
assert.equal(config.CLIENT_CONFIG.showDownloadCard,false);
assert.doesNotMatch(JSON.stringify(config),/ezdemo\.xyz|loliapi\.com|t\.me\/your_|github\.com\/xxx/);
assert.equal(window.EZ_CONFIG.PANEL_TYPE,'Xiao-V2board');
});