fix sonar findings and translation structure
Sonarqube Scanner / Prepare environment (push) Successful in 19s
Sonarqube Scanner / Build and test (push) Successful in 43s
Sonarqube Scanner / SonarQube analysis (push) Failing after 2m28s
Sonarqube Scanner / Deploy to Server (push) Successful in 16s

This commit is contained in:
Florian Zumpe
2026-10-01 16:31:46 +02:00
parent 2b42507f13
commit 5c4d20bd1d
30 changed files with 1753 additions and 894 deletions
+13 -1
View File
@@ -224,7 +224,7 @@ function route(id, name, source = 'server') {
};
}
async function loadApp() {
async function loadApp({ language = 'de-DE' } = {}) {
const sourcePath = path.join(root, 'public/js/app.js');
const source = await fs.readFile(sourcePath, 'utf8');
const harness = createHarness();
@@ -299,6 +299,7 @@ async function loadApp() {
context.addEventListener = (name, handler) => harness.globalListeners.set(name, handler);
context.globalThis = context;
context.navigator = { language };
await loadI18n(context);
@@ -318,6 +319,17 @@ async function loadApp() {
};
}
test('English browser settings localize app controls and retain user-authored trail names', async () => {
const { context, harness } = await loadApp({ language: 'en-GB' });
await context.Wegwichtel.App.initialize({ markStep() {} });
assert.equal(harness.node('#route-control-title').textValue, 'Choose a trail');
assert.equal(harness.node('#route-control-server-title').textValue, 'Public trails (1)');
assert.equal(harness.node('#route-control-local-title').textValue, 'My drafts (1)');
assert.match(harness.node('#location-hint').textValue, /You can still choose from all trails/);
assert.ok(harness.node('#all-route-list').appended.join('').includes('Serverweg'));
assert.ok(harness.node('#local-route-list').appended.join('').includes('Lokaler Weg'));
});
test('route control runtime loads server/local routes and supports switching without geolocation', async () => {
const setup = await loadApp();
const { context, harness, apiCalls, editor } = setup;