@grafana/plugin-e2e 0.0.2-canary.610.7379ad2.0 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +2 -6
- package/dist/api.js +4 -4
- package/dist/e2e-selectors/resolver.js +12 -12
- package/dist/e2e-selectors/resolver.test.js +17 -19
- package/dist/e2e-selectors/types.d.ts +2 -5
- package/dist/e2e-selectors/versioned/apis.d.ts +1 -1
- package/dist/e2e-selectors/versioned/apis.js +24 -26
- package/dist/e2e-selectors/versioned/components.js +78 -83
- package/dist/e2e-selectors/versioned/pages.js +40 -47
- package/dist/fixtures/annotationEditPage.js +6 -58
- package/dist/fixtures/commands/createDataSource.js +28 -102
- package/dist/fixtures/commands/createDataSourceConfigPage.js +12 -77
- package/dist/fixtures/commands/login.js +10 -80
- package/dist/fixtures/commands/readProvision.js +9 -63
- package/dist/fixtures/explorePage.js +5 -55
- package/dist/fixtures/grafanaVersion.js +7 -59
- package/dist/fixtures/index.js +11 -11
- package/dist/fixtures/newDashboardPage.js +5 -55
- package/dist/fixtures/panelEditPage.js +3 -52
- package/dist/fixtures/selectors.js +10 -58
- package/dist/fixtures/variableEditPage.js +6 -58
- package/dist/matchers/index.d.ts +0 -4
- package/dist/matchers/index.js +3 -5
- package/dist/matchers/toBeOK.js +20 -65
- package/dist/matchers/toDisplayPreviews.js +21 -66
- package/dist/matchers/toHavePanelError.js +20 -70
- package/dist/matchers/utils.js +1 -1
- package/dist/models/AnnotationEditPage.js +13 -77
- package/dist/models/AnnotationPage.js +21 -94
- package/dist/models/DashboardPage.js +50 -156
- package/dist/models/DataSourceConfigPage.d.ts +2 -2
- package/dist/models/DataSourceConfigPage.js +25 -135
- package/dist/models/DataSourcePicker.js +13 -81
- package/dist/models/ExplorePage.d.ts +1 -1
- package/dist/models/ExplorePage.js +34 -123
- package/dist/models/GrafanaPage.js +33 -137
- package/dist/models/PanelEditPage.d.ts +1 -1
- package/dist/models/PanelEditPage.js +37 -132
- package/dist/models/TimeRange.js +25 -114
- package/dist/models/VariableEditPage.js +25 -104
- package/dist/models/VariablePage.js +22 -101
- package/dist/selectorEngine.js +8 -8
- package/dist/types.d.ts +1 -12
- package/package.json +2 -2
- package/dist/matchers/toHaveAlert.d.ts +0 -8
- package/dist/matchers/toHaveAlert.js +0 -75
package/dist/api.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { E2ESelectors } from './e2e-selectors/types';
|
|
2
2
|
import { CreateDataSourceArgs, CreateDataSourcePageArgs, DataSource, ReadProvisionArgs } from './types';
|
|
3
|
-
import { PanelEditPage,
|
|
3
|
+
import { PanelEditPage, DataSourceConfigPage, DashboardPage, VariableEditPage, AnnotationEditPage } from './models';
|
|
4
4
|
import { ExplorePage } from './models/ExplorePage';
|
|
5
5
|
export type PluginOptions = {
|
|
6
6
|
selectorRegistration: void;
|
|
@@ -20,7 +20,7 @@ export type PluginFixture = {
|
|
|
20
20
|
};
|
|
21
21
|
export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & PluginFixture & PluginOptions, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
|
|
22
22
|
export declare const expect: import("@playwright/test").Expect<{
|
|
23
|
-
toBeOK: (request: Promise<import("playwright
|
|
23
|
+
toBeOK: (request: Promise<import("@playwright/test").Response>) => Promise<{
|
|
24
24
|
message: () => string;
|
|
25
25
|
pass: boolean;
|
|
26
26
|
actual: number;
|
|
@@ -37,9 +37,5 @@ export declare const expect: import("@playwright/test").Expect<{
|
|
|
37
37
|
actual: boolean;
|
|
38
38
|
message: () => string;
|
|
39
39
|
}>;
|
|
40
|
-
toHaveAlert: (grafanaPage: GrafanaPage, severity: import("./matchers/toHaveAlert").AlertVariant, options?: import("./types").AlertPageOptions) => Promise<{
|
|
41
|
-
message: () => any;
|
|
42
|
-
pass: boolean;
|
|
43
|
-
}>;
|
|
44
40
|
}>;
|
|
45
41
|
export { selectors } from '@playwright/test';
|
package/dist/api.js
CHANGED
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.selectors = exports.expect = exports.test = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const test_1 = require("@playwright/test");
|
|
8
|
+
const fixtures_1 = __importDefault(require("./fixtures"));
|
|
9
|
+
const matchers_1 = __importDefault(require("./matchers"));
|
|
10
|
+
const selectorEngine_1 = require("./selectorEngine");
|
|
11
11
|
exports.test = test_1.test.extend(fixtures_1.default);
|
|
12
12
|
exports.expect = test_1.expect.extend(matchers_1.default);
|
|
13
13
|
test_1.selectors.register('selector', selectorEngine_1.grafanaE2ESelectorEngine);
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveSelectors = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
for (
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const semver = require('semver');
|
|
5
|
+
const processSelectors = (selectors, versionedSelectors, grafanaVersion) => {
|
|
6
|
+
const keys = Object.keys(versionedSelectors);
|
|
7
|
+
for (let index = 0; index < keys.length; index++) {
|
|
8
|
+
const key = keys[index];
|
|
9
|
+
const value = versionedSelectors[key];
|
|
10
10
|
if (typeof value === 'object' && Object.keys(value).length > 0 && !semver.valid(Object.keys(value)[0])) {
|
|
11
11
|
selectors[key] = processSelectors({}, value, grafanaVersion);
|
|
12
12
|
}
|
|
13
13
|
else {
|
|
14
14
|
if (typeof value === 'object' && Object.keys(value).length > 0 && semver.valid(Object.keys(value)[0])) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
for (
|
|
18
|
-
|
|
15
|
+
const sorted = Object.keys(value).sort(semver.rcompare);
|
|
16
|
+
let validVersion = sorted[0];
|
|
17
|
+
for (let index = 0; index < sorted.length; index++) {
|
|
18
|
+
const version = sorted[index];
|
|
19
19
|
if (semver.gte(grafanaVersion, version)) {
|
|
20
20
|
validVersion = version;
|
|
21
21
|
break;
|
|
@@ -31,8 +31,8 @@ var processSelectors = function (selectors, versionedSelectors, grafanaVersion)
|
|
|
31
31
|
}
|
|
32
32
|
return selectors;
|
|
33
33
|
};
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
const resolveSelectors = (versionedSelectors, grafanaVersion) => {
|
|
35
|
+
const selectors = {};
|
|
36
36
|
return processSelectors(selectors, versionedSelectors, grafanaVersion.replace(/\-.*/, ''));
|
|
37
37
|
};
|
|
38
38
|
exports.resolveSelectors = resolveSelectors;
|
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
const resolver_1 = require("./resolver");
|
|
4
|
+
const versioned_1 = require("./versioned");
|
|
5
|
+
const apis_1 = require("./versioned/apis");
|
|
6
|
+
const constants_1 = require("./versioned/constants");
|
|
7
|
+
const GRAFANA_VERSION = '10.2.0';
|
|
8
|
+
let versionedSelectors = {
|
|
9
9
|
components: versioned_1.versionedComponents,
|
|
10
10
|
pages: versioned_1.versionedPages,
|
|
11
11
|
apis: apis_1.versionedAPIs,
|
|
12
12
|
};
|
|
13
|
-
|
|
14
|
-
describe('resolveSelectors',
|
|
15
|
-
afterEach(
|
|
13
|
+
const originalVersionedSelectors = versionedSelectors;
|
|
14
|
+
describe('resolveSelectors', () => {
|
|
15
|
+
afterEach(() => {
|
|
16
16
|
versionedSelectors = originalVersionedSelectors;
|
|
17
17
|
});
|
|
18
|
-
test('handles selector without version',
|
|
18
|
+
test('handles selector without version', () => {
|
|
19
19
|
versionedSelectors.components.PanelEditor.General.content = 'Panel editor content';
|
|
20
|
-
|
|
20
|
+
const selectors = (0, resolver_1.resolveSelectors)(versionedSelectors, GRAFANA_VERSION);
|
|
21
21
|
expect(selectors.components.PanelEditor.General.content).toBe('Panel editor content');
|
|
22
22
|
});
|
|
23
|
-
test('returns the right selector value when it has multiple versions',
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
_a);
|
|
30
|
-
var selectors = (0, resolver_1.resolveSelectors)(versionedSelectors, '10.4.0');
|
|
23
|
+
test('returns the right selector value when it has multiple versions', () => {
|
|
24
|
+
versionedSelectors.components.CodeEditor.container = {
|
|
25
|
+
'10.3.0': 'data-testid Code editor container',
|
|
26
|
+
[constants_1.MIN_GRAFANA_VERSION]: 'Code editor container',
|
|
27
|
+
};
|
|
28
|
+
let selectors = (0, resolver_1.resolveSelectors)(versionedSelectors, '10.4.0');
|
|
31
29
|
expect(selectors.components.CodeEditor.container).toBe('data-testid Code editor container');
|
|
32
30
|
selectors = (0, resolver_1.resolveSelectors)(versionedSelectors, '10.3.0');
|
|
33
31
|
expect(selectors.components.CodeEditor.container).toBe('data-testid Code editor container');
|
|
@@ -10,7 +10,7 @@ export type APIs = {
|
|
|
10
10
|
queryPattern: string;
|
|
11
11
|
query: string;
|
|
12
12
|
health: (uid: string, id: string) => string;
|
|
13
|
-
|
|
13
|
+
delete: (uid: string) => string;
|
|
14
14
|
};
|
|
15
15
|
Dashboard: {
|
|
16
16
|
delete: (uid: string) => string;
|
|
@@ -190,10 +190,7 @@ export type Components = {
|
|
|
190
190
|
AlertTab: {
|
|
191
191
|
content: string;
|
|
192
192
|
};
|
|
193
|
-
Alert: {
|
|
194
|
-
alert: (severity: string) => string;
|
|
195
|
-
alertV2: (severity: string) => string;
|
|
196
|
-
};
|
|
193
|
+
Alert: {};
|
|
197
194
|
TransformTab: {
|
|
198
195
|
content: string;
|
|
199
196
|
};
|
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.versionedAPIs = void 0;
|
|
5
|
-
|
|
4
|
+
const constants_1 = require("./constants");
|
|
6
5
|
exports.versionedAPIs = {
|
|
7
6
|
DataSource: {
|
|
8
|
-
resourcePattern:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
resourceUIDPattern:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
_f),
|
|
7
|
+
resourcePattern: {
|
|
8
|
+
[constants_1.MIN_GRAFANA_VERSION]: '/api/datasources/*/resources',
|
|
9
|
+
},
|
|
10
|
+
resourceUIDPattern: {
|
|
11
|
+
'9.4.4': '/api/datasources/uid/*/resources',
|
|
12
|
+
[constants_1.MIN_GRAFANA_VERSION]: '/api/datasources/*/resources',
|
|
13
|
+
},
|
|
14
|
+
queryPattern: {
|
|
15
|
+
[constants_1.MIN_GRAFANA_VERSION]: '*/**/api/ds/query*',
|
|
16
|
+
},
|
|
17
|
+
query: {
|
|
18
|
+
[constants_1.MIN_GRAFANA_VERSION]: '/api/ds/query',
|
|
19
|
+
},
|
|
20
|
+
health: {
|
|
21
|
+
['9.5.0']: (uid, _) => `/api/datasources/uid/${uid}/health`,
|
|
22
|
+
[constants_1.MIN_GRAFANA_VERSION]: (_, id) => `/api/datasources/${id}/health`,
|
|
23
|
+
},
|
|
24
|
+
delete: {
|
|
25
|
+
[constants_1.MIN_GRAFANA_VERSION]: (uid) => `/api/datasources/uid/${uid}`,
|
|
26
|
+
},
|
|
29
27
|
},
|
|
30
28
|
Dashboard: {
|
|
31
|
-
delete:
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
delete: {
|
|
30
|
+
[constants_1.MIN_GRAFANA_VERSION]: (uid) => `/api/datasources/uid/${uid}`,
|
|
31
|
+
},
|
|
34
32
|
},
|
|
35
33
|
};
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c, _d, _e, _f;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.versionedComponents = void 0;
|
|
5
|
-
|
|
4
|
+
const constants_1 = require("./constants");
|
|
6
5
|
exports.versionedComponents = {
|
|
7
6
|
Breadcrumbs: {
|
|
8
7
|
breadcrumb: {
|
|
9
|
-
'9.4.0':
|
|
8
|
+
'9.4.0': (title) => `data-testid ${title} breadcrumb`,
|
|
10
9
|
},
|
|
11
10
|
},
|
|
12
11
|
TimePicker: {
|
|
13
|
-
openButton:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
_a),
|
|
12
|
+
openButton: {
|
|
13
|
+
'8.1.0': 'data-testid TimePicker Open Button',
|
|
14
|
+
[constants_1.MIN_GRAFANA_VERSION]: 'TimePicker open button',
|
|
15
|
+
},
|
|
18
16
|
fromField: 'Time Range from field',
|
|
19
17
|
toField: 'Time Range to field',
|
|
20
18
|
applyTimeRange: 'data-testid TimePicker submit button',
|
|
@@ -26,7 +24,7 @@ exports.versionedComponents = {
|
|
|
26
24
|
absoluteTimeRangeTitle: 'data-testid-absolute-time-range-narrow',
|
|
27
25
|
},
|
|
28
26
|
DataSourcePermissions: {
|
|
29
|
-
form:
|
|
27
|
+
form: () => 'form[name="addPermission"]',
|
|
30
28
|
roleType: 'Role to add new permission to',
|
|
31
29
|
rolePicker: 'Built-in role picker',
|
|
32
30
|
permissionLevel: 'Permission Level',
|
|
@@ -61,9 +59,9 @@ exports.versionedComponents = {
|
|
|
61
59
|
},
|
|
62
60
|
},
|
|
63
61
|
Menu: {
|
|
64
|
-
MenuComponent:
|
|
65
|
-
MenuGroup:
|
|
66
|
-
MenuItem:
|
|
62
|
+
MenuComponent: (title) => `${title} menu`,
|
|
63
|
+
MenuGroup: (title) => `${title} menu group`,
|
|
64
|
+
MenuItem: (title) => `${title} menu item`,
|
|
67
65
|
SubMenu: {
|
|
68
66
|
container: 'SubMenu container',
|
|
69
67
|
icon: 'SubMenu icon',
|
|
@@ -71,17 +69,17 @@ exports.versionedComponents = {
|
|
|
71
69
|
},
|
|
72
70
|
Panels: {
|
|
73
71
|
Panel: {
|
|
74
|
-
title:
|
|
75
|
-
headerItems:
|
|
76
|
-
menuItems:
|
|
77
|
-
menu:
|
|
78
|
-
containerByTitle:
|
|
79
|
-
headerCornerInfo:
|
|
80
|
-
status:
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
loadingBar:
|
|
72
|
+
title: (title) => `data-testid Panel header ${title}`,
|
|
73
|
+
headerItems: (item) => `data-testid Panel header item ${item}`,
|
|
74
|
+
menuItems: (item) => `data-testid Panel menu item ${item}`,
|
|
75
|
+
menu: (title) => `data-testid Panel menu ${title}`,
|
|
76
|
+
containerByTitle: (title) => `${title} panel`,
|
|
77
|
+
headerCornerInfo: (mode) => `Panel header ${mode}`,
|
|
78
|
+
status: {
|
|
79
|
+
['10.2.0']: (status) => `data-testid Panel status ${status}`,
|
|
80
|
+
[constants_1.MIN_GRAFANA_VERSION]: (_) => 'Panel status',
|
|
81
|
+
},
|
|
82
|
+
loadingBar: () => `Panel loading bar`,
|
|
85
83
|
HoverWidget: {
|
|
86
84
|
container: 'data-testid hover-header-container',
|
|
87
85
|
dragIcon: 'data-testid drag-icon',
|
|
@@ -94,11 +92,11 @@ exports.versionedComponents = {
|
|
|
94
92
|
legendSection: 'Legend section',
|
|
95
93
|
},
|
|
96
94
|
Legend: {
|
|
97
|
-
legendItemAlias:
|
|
95
|
+
legendItemAlias: (name) => `gpl alias ${name}`,
|
|
98
96
|
showLegendSwitch: 'gpl show legend',
|
|
99
97
|
},
|
|
100
98
|
xAxis: {
|
|
101
|
-
labels:
|
|
99
|
+
labels: () => 'div.flot-x-axis > div.flot-tick-label',
|
|
102
100
|
},
|
|
103
101
|
},
|
|
104
102
|
BarGauge: {
|
|
@@ -109,7 +107,7 @@ exports.versionedComponents = {
|
|
|
109
107
|
svgSlice: 'Pie Chart Slice',
|
|
110
108
|
},
|
|
111
109
|
Text: {
|
|
112
|
-
container:
|
|
110
|
+
container: () => '.markdown-html',
|
|
113
111
|
},
|
|
114
112
|
Table: {
|
|
115
113
|
header: 'table header',
|
|
@@ -121,15 +119,15 @@ exports.versionedComponents = {
|
|
|
121
119
|
},
|
|
122
120
|
},
|
|
123
121
|
VizLegend: {
|
|
124
|
-
seriesName:
|
|
122
|
+
seriesName: (name) => `VizLegend series ${name}`,
|
|
125
123
|
},
|
|
126
124
|
Drawer: {
|
|
127
125
|
General: {
|
|
128
|
-
title:
|
|
126
|
+
title: (title) => `Drawer title ${title}`,
|
|
129
127
|
expand: 'Drawer expand',
|
|
130
128
|
contract: 'Drawer contract',
|
|
131
129
|
close: 'Drawer close',
|
|
132
|
-
rcContentWrapper:
|
|
130
|
+
rcContentWrapper: () => '.rc-drawer-content-wrapper',
|
|
133
131
|
},
|
|
134
132
|
},
|
|
135
133
|
PanelEditor: {
|
|
@@ -139,17 +137,16 @@ exports.versionedComponents = {
|
|
|
139
137
|
OptionsPane: {
|
|
140
138
|
content: 'Panel editor option pane content',
|
|
141
139
|
select: 'Panel editor option pane select',
|
|
142
|
-
fieldLabel:
|
|
140
|
+
fieldLabel: (type) => `${type} field property editor`,
|
|
143
141
|
},
|
|
144
142
|
DataPane: {
|
|
145
143
|
content: 'Panel editor data pane content',
|
|
146
144
|
},
|
|
147
145
|
applyButton: 'data-testid Apply changes and go back to dashboard',
|
|
148
|
-
toggleVizPicker:
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
_c),
|
|
146
|
+
toggleVizPicker: {
|
|
147
|
+
'10.0.0': 'data-testid toggle-viz-picker',
|
|
148
|
+
[constants_1.MIN_GRAFANA_VERSION]: 'toggle-viz-picker',
|
|
149
|
+
},
|
|
153
150
|
toggleVizOptions: 'data-testid toggle-viz-options',
|
|
154
151
|
toggleTableView: 'toggle-table-view',
|
|
155
152
|
showZoomField: 'Map controls Show zoom control field property editor',
|
|
@@ -172,12 +169,12 @@ exports.versionedComponents = {
|
|
|
172
169
|
Query: {
|
|
173
170
|
content: 'Panel inspector Query content',
|
|
174
171
|
refreshButton: 'Panel inspector Query refresh button',
|
|
175
|
-
jsonObjectKeys:
|
|
172
|
+
jsonObjectKeys: () => '.json-formatter-key',
|
|
176
173
|
},
|
|
177
174
|
},
|
|
178
175
|
Tab: {
|
|
179
|
-
title:
|
|
180
|
-
active:
|
|
176
|
+
title: (title) => `Tab ${title}`,
|
|
177
|
+
active: () => '[class*="-activeTabStyle"]',
|
|
181
178
|
},
|
|
182
179
|
RefreshPicker: {
|
|
183
180
|
runButton: 'RefreshPicker run button',
|
|
@@ -198,25 +195,25 @@ exports.versionedComponents = {
|
|
|
198
195
|
rows: 'Query editor row',
|
|
199
196
|
},
|
|
200
197
|
QueryEditorRow: {
|
|
201
|
-
actionButton:
|
|
202
|
-
title:
|
|
203
|
-
container:
|
|
198
|
+
actionButton: (title) => `${title}`,
|
|
199
|
+
title: (refId) => `Query editor row title ${refId}`,
|
|
200
|
+
container: (refId) => `Query editor row ${refId}`,
|
|
204
201
|
},
|
|
205
202
|
AlertTab: {
|
|
206
203
|
content: 'Alert editor tab content',
|
|
207
204
|
},
|
|
208
205
|
Alert: {
|
|
209
|
-
alert:
|
|
210
|
-
alertV2:
|
|
206
|
+
alert: (severity) => `Alert ${severity}`,
|
|
207
|
+
alertV2: (severity) => `data-testid Alert ${severity}`,
|
|
211
208
|
},
|
|
212
209
|
TransformTab: {
|
|
213
210
|
content: 'data-testid Transform editor tab content',
|
|
214
|
-
newTransform:
|
|
215
|
-
transformationEditor:
|
|
216
|
-
transformationEditorDebugger:
|
|
211
|
+
newTransform: (name) => `data-testid New transform ${name}`,
|
|
212
|
+
transformationEditor: (name) => `data-testid Transformation editor ${name}`,
|
|
213
|
+
transformationEditorDebugger: (name) => `data-testid Transformation editor debugger ${name}`,
|
|
217
214
|
},
|
|
218
215
|
Transforms: {
|
|
219
|
-
card:
|
|
216
|
+
card: (name) => `data-testid New transform ${name}`,
|
|
220
217
|
Reduce: {
|
|
221
218
|
modeLabel: 'Transform mode label',
|
|
222
219
|
calculationsLabel: 'Transform calculations label',
|
|
@@ -263,36 +260,35 @@ exports.versionedComponents = {
|
|
|
263
260
|
container: 'data-testid Nav toolbar',
|
|
264
261
|
},
|
|
265
262
|
PageToolbar: {
|
|
266
|
-
container:
|
|
267
|
-
item:
|
|
268
|
-
shotMoreItems:
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
itemButton:
|
|
272
|
-
itemButtonTitle:
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
_e),
|
|
263
|
+
container: () => '.page-toolbar',
|
|
264
|
+
item: (tooltip) => `${tooltip}`,
|
|
265
|
+
shotMoreItems: {
|
|
266
|
+
[constants_1.MIN_GRAFANA_VERSION]: 'Show more items',
|
|
267
|
+
},
|
|
268
|
+
itemButton: (title) => `data-testid ${title}`,
|
|
269
|
+
itemButtonTitle: {
|
|
270
|
+
'10.1.0': 'Add button',
|
|
271
|
+
[constants_1.MIN_GRAFANA_VERSION]: 'Add panel button',
|
|
272
|
+
},
|
|
277
273
|
},
|
|
278
274
|
QueryEditorToolbarItem: {
|
|
279
|
-
button:
|
|
275
|
+
button: (title) => `QueryEditor toolbar item button ${title}`,
|
|
280
276
|
},
|
|
281
277
|
BackButton: {
|
|
282
278
|
backArrow: 'Go Back',
|
|
283
279
|
},
|
|
284
280
|
OptionsGroup: {
|
|
285
|
-
group:
|
|
286
|
-
toggle:
|
|
281
|
+
group: (title) => (title ? `Options group ${title}` : 'Options group'),
|
|
282
|
+
toggle: (title) => (title ? `Options group ${title} toggle` : 'Options group toggle'),
|
|
287
283
|
},
|
|
288
284
|
PluginVisualization: {
|
|
289
|
-
item:
|
|
290
|
-
current:
|
|
285
|
+
item: (title) => `Plugin visualization item ${title}`,
|
|
286
|
+
current: () => '[class*="-currentVisualizationItem"]',
|
|
291
287
|
},
|
|
292
288
|
Select: {
|
|
293
289
|
option: 'Select option',
|
|
294
|
-
input:
|
|
295
|
-
singleValue:
|
|
290
|
+
input: () => 'input[id*="time-options-input"]',
|
|
291
|
+
singleValue: () => 'div[class*="-singleValue"]',
|
|
296
292
|
},
|
|
297
293
|
FieldConfigEditor: {
|
|
298
294
|
content: 'Field config editor content',
|
|
@@ -313,7 +309,7 @@ exports.versionedComponents = {
|
|
|
313
309
|
'10.0.0': 'data-testid Data source picker select container',
|
|
314
310
|
'8.3.0': 'Data source picker select container',
|
|
315
311
|
},
|
|
316
|
-
input:
|
|
312
|
+
input: () => 'input[id="data-source-picker"]',
|
|
317
313
|
inputV2: 'data-testid Select a data source',
|
|
318
314
|
},
|
|
319
315
|
TimeZonePicker: {
|
|
@@ -336,8 +332,8 @@ exports.versionedComponents = {
|
|
|
336
332
|
matchOperatorSelect: 'Select match operator',
|
|
337
333
|
},
|
|
338
334
|
ValuePicker: {
|
|
339
|
-
button:
|
|
340
|
-
select:
|
|
335
|
+
button: (name) => `Value picker button ${name}`,
|
|
336
|
+
select: (name) => `Value picker select ${name}`,
|
|
341
337
|
},
|
|
342
338
|
Search: {
|
|
343
339
|
section: 'Search section',
|
|
@@ -345,11 +341,11 @@ exports.versionedComponents = {
|
|
|
345
341
|
items: 'Search items',
|
|
346
342
|
itemsV2: 'data-testid Search items',
|
|
347
343
|
cards: 'data-testid Search cards',
|
|
348
|
-
collapseFolder:
|
|
349
|
-
expandFolder:
|
|
350
|
-
dashboardCard:
|
|
351
|
-
folderHeader:
|
|
352
|
-
folderContent:
|
|
344
|
+
collapseFolder: (sectionId) => `data-testid Collapse folder ${sectionId}`,
|
|
345
|
+
expandFolder: (sectionId) => `data-testid Expand folder ${sectionId}`,
|
|
346
|
+
dashboardCard: (item) => `data-testid Search card ${item}`,
|
|
347
|
+
folderHeader: (folderName) => `data-testid Folder header ${folderName}`,
|
|
348
|
+
folderContent: (folderName) => `data-testid Folder content ${folderName}`,
|
|
353
349
|
dashboardItems: 'data-testid Dashboard search item',
|
|
354
350
|
},
|
|
355
351
|
DashboardLinks: {
|
|
@@ -361,18 +357,17 @@ exports.versionedComponents = {
|
|
|
361
357
|
icon: 'Loading indicator',
|
|
362
358
|
},
|
|
363
359
|
CallToActionCard: {
|
|
364
|
-
button:
|
|
365
|
-
buttonV2:
|
|
360
|
+
button: (name) => `Call to action button ${name}`,
|
|
361
|
+
buttonV2: (name) => `data-testid Call to action button ${name}`,
|
|
366
362
|
},
|
|
367
363
|
DataLinksContextMenu: {
|
|
368
364
|
singleLink: 'Data link',
|
|
369
365
|
},
|
|
370
366
|
CodeEditor: {
|
|
371
|
-
container:
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
_f),
|
|
367
|
+
container: {
|
|
368
|
+
'10.3.0': 'data-testid Code editor container',
|
|
369
|
+
[constants_1.MIN_GRAFANA_VERSION]: 'Code editor container',
|
|
370
|
+
},
|
|
376
371
|
},
|
|
377
372
|
DashboardImportPage: {
|
|
378
373
|
textarea: 'data-testid-import-dashboard-textarea',
|
|
@@ -386,13 +381,13 @@ exports.versionedComponents = {
|
|
|
386
381
|
content: 'Unified alert editor tab content',
|
|
387
382
|
},
|
|
388
383
|
VisualizationPreview: {
|
|
389
|
-
card:
|
|
384
|
+
card: (name) => `data-testid suggestion-${name}`,
|
|
390
385
|
},
|
|
391
386
|
ColorSwatch: {
|
|
392
|
-
name:
|
|
387
|
+
name: `data-testid-colorswatch`,
|
|
393
388
|
},
|
|
394
389
|
DashboardRow: {
|
|
395
|
-
title:
|
|
390
|
+
title: (title) => `data-testid dashboard-row-title-${title}`,
|
|
396
391
|
},
|
|
397
392
|
UserProfile: {
|
|
398
393
|
profileSaveButton: 'data-testid-user-profile-save',
|