Skip to content

Commit c715ff7

Browse files
committed
add spanish trans test
1 parent 9ae75dc commit c715ff7

File tree

4 files changed

+33
-24
lines changed

4 files changed

+33
-24
lines changed

examples/panel-basic/src/loadResources.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export const loadResources: ResourceLoader = async (resolvedLanguage: string) =>
1111
const translation = await resources[resolvedLanguage]();
1212
return translation.default;
1313
} catch (error) {
14+
// This makes sure that the plugin doesn't crash when the resolved language in Grafana isn't supported by the plugin
1415
console.error(`The plugin '${pluginJson.id}' doesn't support the language '${resolvedLanguage}'`, error);
1516
return {};
1617
}

examples/panel-basic/src/module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { loadResources } from 'loadResources';
1111
// Before Grafana version 12.1.0 the plugin is responsible for loading translation resources
1212
// In Grafana version 12.1.0 and later Grafana is responsible for loading translation resources
1313
const loaders = semver.lt(config?.buildInfo?.version, '12.1.0') ? [loadResources] : [];
14-
initPluginTranslations(pluginJson.id, loaders);
14+
await initPluginTranslations(pluginJson.id, loaders);
1515

1616
export const plugin = new PanelPlugin<SimpleOptions>(SimplePanel).setPanelOptions((builder) => {
1717
return builder
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { expect, test } from '@grafana/plugin-e2e';
2+
3+
test.use({
4+
featureToggles: {
5+
localizationForPlugins: true,
6+
},
7+
userPreferences: {
8+
language: 'es-ES',
9+
},
10+
});
11+
12+
test('should display Spanish plugin translations', async ({ gotoPanelEditPage, readProvisionedDashboard, page }) => {
13+
const dashboard = await readProvisionedDashboard({ fileName: 'dashboard.json' });
14+
const panelEditPage = await gotoPanelEditPage({ dashboard, id: '1' });
15+
await page.evaluate(() => {
16+
console.log('lang', (window as any).grafanaBootData?.user?.language);
17+
console.log('toggles', (window as any).grafanaBootData?.settings.featureToggles);
18+
});
19+
20+
// For Grafana v11+, expect Spanish translations
21+
await expect(panelEditPage.panel.locator.getByText('Valor de la opción de texto:')).toBeVisible();
22+
const options = panelEditPage.getCustomOptions('Basic');
23+
const showSeriesCounter = options.getSwitch('Mostrar contador de series');
24+
await expect(showSeriesCounter.locator()).toBeVisible();
25+
});
Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import * as semver from 'semver';
2-
31
import { expect, test } from '@grafana/plugin-e2e';
42

53
test.use({
@@ -11,32 +9,17 @@ test.use({
119
},
1210
});
1311

14-
test('should display correct translation based on Grafana version (Swedish for v11+, English fallback for <v11)', async ({
15-
gotoPanelEditPage,
16-
readProvisionedDashboard,
17-
grafanaVersion,
18-
page,
19-
}) => {
12+
test('should display Swedish plugin translations', async ({ gotoPanelEditPage, readProvisionedDashboard, page }) => {
2013
const dashboard = await readProvisionedDashboard({ fileName: 'dashboard.json' });
2114
const panelEditPage = await gotoPanelEditPage({ dashboard, id: '1' });
2215
await page.evaluate(() => {
2316
console.log('lang', (window as any).grafanaBootData?.user?.language);
2417
console.log('toggles', (window as any).grafanaBootData?.settings.featureToggles);
2518
});
2619

27-
const isVersion11OrHigher = semver.gte(grafanaVersion, '11.0.0');
28-
29-
if (isVersion11OrHigher) {
30-
// For Grafana v11+, expect Swedish translations
31-
await expect(panelEditPage.panel.locator.getByText('Textalternativ värde:')).toBeVisible();
32-
const options = panelEditPage.getCustomOptions('Basic');
33-
const showSeriesCounter = options.getSwitch('Visa serieräknare');
34-
await expect(showSeriesCounter.locator()).toBeVisible();
35-
} else {
36-
// For Grafana <v11, expect English fallback
37-
await expect(panelEditPage.panel.locator.getByText('Text option value:')).toBeVisible();
38-
const options = panelEditPage.getCustomOptions('Basic');
39-
const showSeriesCounter = options.getSwitch('Show series counter');
40-
await expect(showSeriesCounter.locator()).toBeVisible();
41-
}
20+
// For Grafana v11+, expect Swedish translations
21+
await expect(panelEditPage.panel.locator.getByText('Textalternativ värde:')).toBeVisible();
22+
const options = panelEditPage.getCustomOptions('Basic');
23+
const showSeriesCounter = options.getSwitch('Visa serieräknare');
24+
await expect(showSeriesCounter.locator()).toBeVisible();
4225
});

0 commit comments

Comments
 (0)