69 lines
2.0 KiB
TypeScript
69 lines
2.0 KiB
TypeScript
import { config } from '@grafana/runtime';
|
|
import { DashboardScene } from 'app/features/dashboard-scene/scene/DashboardScene';
|
|
|
|
import { scopesDashboardsScene, scopesSelectorScene } from '../instance';
|
|
|
|
import { enterEditMode, openSelector, toggleDashboards } from './utils/actions';
|
|
import {
|
|
expectDashboardsClosed,
|
|
expectDashboardsNotInDocument,
|
|
expectScopesSelectorClosed,
|
|
expectScopesSelectorNotInDocument,
|
|
} from './utils/assertions';
|
|
import { getDatasource, getInstanceSettings, getMock } from './utils/mocks';
|
|
import { renderDashboard, resetScenes } from './utils/render';
|
|
|
|
jest.mock('@grafana/runtime', () => ({
|
|
__esModule: true,
|
|
...jest.requireActual('@grafana/runtime'),
|
|
useChromeHeaderHeight: jest.fn(),
|
|
getBackendSrv: () => ({ get: getMock }),
|
|
getDataSourceSrv: () => ({ get: getDatasource, getInstanceSettings }),
|
|
usePluginLinks: jest.fn().mockReturnValue({ links: [] }),
|
|
}));
|
|
|
|
describe('View mode', () => {
|
|
let dashboardScene: DashboardScene;
|
|
|
|
beforeAll(() => {
|
|
config.featureToggles.scopeFilters = true;
|
|
config.featureToggles.groupByVariable = true;
|
|
});
|
|
|
|
beforeEach(() => {
|
|
dashboardScene = renderDashboard();
|
|
});
|
|
|
|
afterEach(async () => {
|
|
await resetScenes();
|
|
});
|
|
|
|
it('Enters view mode', async () => {
|
|
await enterEditMode(dashboardScene);
|
|
expect(scopesSelectorScene?.state?.isReadOnly).toEqual(true);
|
|
expect(scopesDashboardsScene?.state?.isPanelOpened).toEqual(false);
|
|
});
|
|
|
|
it('Closes selector on enter', async () => {
|
|
await openSelector();
|
|
await enterEditMode(dashboardScene);
|
|
expectScopesSelectorClosed();
|
|
});
|
|
|
|
it('Closes dashboards list on enter', async () => {
|
|
await toggleDashboards();
|
|
await enterEditMode(dashboardScene);
|
|
expectDashboardsClosed();
|
|
});
|
|
|
|
it('Does not show selector when view mode is active', async () => {
|
|
await enterEditMode(dashboardScene);
|
|
expectScopesSelectorNotInDocument();
|
|
});
|
|
|
|
it('Does not show the expand button when view mode is active', async () => {
|
|
await enterEditMode(dashboardScene);
|
|
expectDashboardsNotInDocument();
|
|
});
|
|
});
|