mirror of
https://github.com/grafana/grafana.git
synced 2025-02-12 00:25:46 -06:00
91 lines
2.9 KiB
TypeScript
91 lines
2.9 KiB
TypeScript
import { DashboardLoadedEvent } from '@grafana/data';
|
|
import { reportInteraction } from '@grafana/runtime';
|
|
import './module';
|
|
|
|
jest.mock('@grafana/runtime', () => {
|
|
return {
|
|
...jest.requireActual('@grafana/runtime'),
|
|
reportInteraction: jest.fn(),
|
|
getAppEvents: () => ({
|
|
subscribe: jest.fn((_, handler) => {
|
|
// Trigger test event
|
|
handler(
|
|
new DashboardLoadedEvent({
|
|
dashboardId: 'dashboard123',
|
|
orgId: 1,
|
|
userId: 2,
|
|
grafanaVersion: 'v9.0.0',
|
|
queries: {
|
|
loki: [
|
|
{
|
|
datasource: { type: 'loki', uid: 'abc' },
|
|
editorMode: 'builder',
|
|
expr: '{place="$place"} |= ``',
|
|
queryType: 'range',
|
|
refId: 'A',
|
|
},
|
|
{
|
|
datasource: { type: 'loki', uid: 'abc' },
|
|
editorMode: 'builder',
|
|
expr: '{place="$place"} |= `error`',
|
|
maxLines: 60,
|
|
queryType: 'instant',
|
|
refId: 'A',
|
|
},
|
|
{
|
|
datasource: { type: 'loki', uid: 'abc' },
|
|
editorMode: 'builder',
|
|
expr: 'count_over_time({place="$place"} [5m])',
|
|
legendFormat: '{{place}}',
|
|
maxLines: 60,
|
|
queryType: 'range',
|
|
refId: 'A',
|
|
resolution: 1,
|
|
},
|
|
{
|
|
datasource: { type: 'loki', uid: 'abc' },
|
|
editorMode: 'code',
|
|
expr: 'count_over_time({place="moon"} [5m])',
|
|
legendFormat: '{{place}}',
|
|
queryType: 'range',
|
|
refId: 'A',
|
|
},
|
|
{
|
|
datasource: { type: 'loki', uid: 'abc' },
|
|
editorMode: 'code',
|
|
expr: 'count_over_time({place="luna"} [5m])',
|
|
legendFormat: '{{place}}',
|
|
queryType: 'range',
|
|
refId: 'A',
|
|
},
|
|
],
|
|
},
|
|
})
|
|
);
|
|
}),
|
|
}),
|
|
};
|
|
});
|
|
|
|
describe('queriesOnInitDashboard', () => {
|
|
it('should report a grafana_loki_dashboard_loaded interaction ', () => {
|
|
// subscribeDashboardLoadedEvent();
|
|
expect(reportInteraction).toHaveBeenCalledWith('grafana_loki_dashboard_loaded', {
|
|
builder_mode_queries_count: 3,
|
|
grafana_version: 'v9.0.0',
|
|
dashboard_id: 'dashboard123',
|
|
org_id: 1,
|
|
code_mode_queries_count: 2,
|
|
instant_queries_count: 1,
|
|
logs_queries_count: 2,
|
|
metric_queries_count: 3,
|
|
queries_count: 5,
|
|
queries_with_changed_legend_count: 3,
|
|
queries_with_changed_line_limit_count: 2,
|
|
queries_with_changed_resolution_count: 0,
|
|
queries_with_template_variables_count: 2,
|
|
range_queries_count: 4,
|
|
});
|
|
});
|
|
});
|