2025-01-02 19:23:58 +08:00
|
|
|
import { config, locationService } from '@grafana/runtime';
|
2024-12-18 05:17:09 +08:00
|
|
|
|
|
|
|
import { getDashboardsApiVersion } from './utils';
|
|
|
|
|
|
|
|
describe('getDashboardsApiVersion', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
jest.resetModules();
|
|
|
|
});
|
|
|
|
|
2025-02-20 19:42:59 +08:00
|
|
|
it('should return v1 when dashboardScene is disabled and kubernetesDashboards is enabled', () => {
|
2024-12-18 05:17:09 +08:00
|
|
|
config.featureToggles = {
|
|
|
|
dashboardScene: false,
|
|
|
|
kubernetesDashboards: true,
|
|
|
|
};
|
2025-02-20 19:42:59 +08:00
|
|
|
expect(getDashboardsApiVersion()).toBe('v1');
|
2024-12-18 05:17:09 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
it('should return legacy when dashboardScene is disabled and kubernetesDashboards is disabled', () => {
|
|
|
|
config.featureToggles = {
|
|
|
|
dashboardScene: false,
|
|
|
|
kubernetesDashboards: false,
|
|
|
|
};
|
|
|
|
expect(getDashboardsApiVersion()).toBe('legacy');
|
|
|
|
});
|
|
|
|
|
2025-03-13 01:43:32 +08:00
|
|
|
it('should return unified when dashboardScene is enabled and kubernetesDashboards is enabled', () => {
|
2024-12-18 05:17:09 +08:00
|
|
|
config.featureToggles = {
|
|
|
|
dashboardScene: true,
|
|
|
|
kubernetesDashboards: true,
|
|
|
|
};
|
2025-03-13 01:43:32 +08:00
|
|
|
expect(getDashboardsApiVersion()).toBe('unified');
|
2024-12-18 05:17:09 +08:00
|
|
|
});
|
|
|
|
|
2025-03-13 01:43:32 +08:00
|
|
|
it('should return legacy when dashboardScene is enabled and kubernetesDashboards is disabled', () => {
|
2024-12-18 05:17:09 +08:00
|
|
|
config.featureToggles = {
|
|
|
|
dashboardScene: true,
|
|
|
|
kubernetesDashboards: false,
|
|
|
|
};
|
|
|
|
expect(getDashboardsApiVersion()).toBe('legacy');
|
|
|
|
});
|
2025-01-02 19:23:58 +08:00
|
|
|
|
|
|
|
describe('forcing scenes through URL', () => {
|
|
|
|
beforeAll(() => {
|
|
|
|
locationService.push('/test?scenes=false');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should return legacy when kubernetesDashboards is disabled', () => {
|
|
|
|
config.featureToggles = {
|
|
|
|
dashboardScene: false,
|
|
|
|
kubernetesDashboards: false,
|
|
|
|
};
|
|
|
|
expect(getDashboardsApiVersion()).toBe('legacy');
|
|
|
|
});
|
|
|
|
|
2025-03-13 01:43:32 +08:00
|
|
|
it('should return v1 when kubernetesDashboards is enabled', () => {
|
2025-01-02 19:23:58 +08:00
|
|
|
config.featureToggles = {
|
|
|
|
dashboardScene: false,
|
|
|
|
kubernetesDashboards: true,
|
|
|
|
};
|
2025-02-20 19:42:59 +08:00
|
|
|
expect(getDashboardsApiVersion()).toBe('v1');
|
2025-01-02 19:23:58 +08:00
|
|
|
});
|
|
|
|
});
|
2024-12-18 05:17:09 +08:00
|
|
|
});
|