@grafana/plugin-e2e 0.0.0 → 0.0.1

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.
Files changed (90) hide show
  1. package/README.md +1 -0
  2. package/dist/api.d.ts +41 -0
  3. package/dist/api.js +15 -0
  4. package/dist/e2e-selectors/index.d.ts +2 -0
  5. package/dist/e2e-selectors/index.js +20 -0
  6. package/dist/e2e-selectors/resolver.d.ts +3 -0
  7. package/dist/e2e-selectors/resolver.js +38 -0
  8. package/dist/e2e-selectors/resolver.test.d.ts +1 -0
  9. package/dist/e2e-selectors/resolver.test.js +39 -0
  10. package/dist/e2e-selectors/types.d.ts +691 -0
  11. package/dist/e2e-selectors/types.js +2 -0
  12. package/dist/e2e-selectors/versioned/apis.d.ts +29 -0
  13. package/dist/e2e-selectors/versioned/apis.js +35 -0
  14. package/dist/e2e-selectors/versioned/components.d.ts +419 -0
  15. package/dist/e2e-selectors/versioned/components.js +426 -0
  16. package/dist/e2e-selectors/versioned/constants.d.ts +1 -0
  17. package/dist/e2e-selectors/versioned/constants.js +4 -0
  18. package/dist/e2e-selectors/versioned/index.d.ts +2 -0
  19. package/dist/e2e-selectors/versioned/index.js +7 -0
  20. package/dist/e2e-selectors/versioned/pages.d.ts +334 -0
  21. package/dist/e2e-selectors/versioned/pages.js +345 -0
  22. package/dist/e2e-selectors/versioned/types.d.ts +8 -0
  23. package/dist/e2e-selectors/versioned/types.js +2 -0
  24. package/dist/fixtures/annotationEditPage.d.ts +7 -0
  25. package/dist/fixtures/annotationEditPage.js +62 -0
  26. package/dist/fixtures/commands/createDataSource.d.ts +8 -0
  27. package/dist/fixtures/commands/createDataSource.js +110 -0
  28. package/dist/fixtures/commands/createDataSourceConfigPage.d.ts +8 -0
  29. package/dist/fixtures/commands/createDataSourceConfigPage.js +82 -0
  30. package/dist/fixtures/commands/login.d.ts +6 -0
  31. package/dist/fixtures/commands/login.js +88 -0
  32. package/dist/fixtures/commands/readProvision.d.ts +7 -0
  33. package/dist/fixtures/commands/readProvision.js +67 -0
  34. package/dist/fixtures/explorePage.d.ts +7 -0
  35. package/dist/fixtures/explorePage.js +59 -0
  36. package/dist/fixtures/grafanaVersion.d.ts +6 -0
  37. package/dist/fixtures/grafanaVersion.js +63 -0
  38. package/dist/fixtures/index.d.ts +14 -0
  39. package/dist/fixtures/index.js +29 -0
  40. package/dist/fixtures/newDashboardPage.d.ts +7 -0
  41. package/dist/fixtures/newDashboardPage.js +59 -0
  42. package/dist/fixtures/panelEditPage.d.ts +7 -0
  43. package/dist/fixtures/panelEditPage.js +56 -0
  44. package/dist/fixtures/selectors.d.ts +7 -0
  45. package/dist/fixtures/selectors.js +62 -0
  46. package/dist/fixtures/types.d.ts +2 -0
  47. package/dist/fixtures/types.js +2 -0
  48. package/dist/fixtures/variableEditPage.d.ts +7 -0
  49. package/dist/fixtures/variableEditPage.js +62 -0
  50. package/dist/index.d.ts +3 -0
  51. package/dist/index.js +22 -0
  52. package/dist/matchers/index.d.ts +20 -0
  53. package/dist/matchers/index.js +13 -0
  54. package/dist/matchers/toBeOK.d.ts +7 -0
  55. package/dist/matchers/toBeOK.js +69 -0
  56. package/dist/matchers/toDisplayPreviews.d.ts +7 -0
  57. package/dist/matchers/toDisplayPreviews.js +70 -0
  58. package/dist/matchers/toHavePanelError.d.ts +9 -0
  59. package/dist/matchers/toHavePanelError.js +74 -0
  60. package/dist/matchers/utils.d.ts +1 -0
  61. package/dist/matchers/utils.js +5 -0
  62. package/dist/models/AnnotationEditPage.d.ts +8 -0
  63. package/dist/models/AnnotationEditPage.js +82 -0
  64. package/dist/models/AnnotationPage.d.ts +8 -0
  65. package/dist/models/AnnotationPage.js +123 -0
  66. package/dist/models/DashboardPage.d.ts +15 -0
  67. package/dist/models/DashboardPage.js +163 -0
  68. package/dist/models/DataSourceConfigPage.d.ts +10 -0
  69. package/dist/models/DataSourceConfigPage.js +135 -0
  70. package/dist/models/DataSourcePicker.d.ts +6 -0
  71. package/dist/models/DataSourcePicker.js +86 -0
  72. package/dist/models/ExplorePage.d.ts +12 -0
  73. package/dist/models/ExplorePage.js +130 -0
  74. package/dist/models/GrafanaPage.d.ts +11 -0
  75. package/dist/models/GrafanaPage.js +150 -0
  76. package/dist/models/PanelEditPage.d.ts +15 -0
  77. package/dist/models/PanelEditPage.js +165 -0
  78. package/dist/models/TimeRange.d.ts +6 -0
  79. package/dist/models/TimeRange.js +119 -0
  80. package/dist/models/VariableEditPage.d.ts +10 -0
  81. package/dist/models/VariableEditPage.js +109 -0
  82. package/dist/models/VariablePage.d.ts +8 -0
  83. package/dist/models/VariablePage.js +107 -0
  84. package/dist/models/index.d.ts +8 -0
  85. package/dist/models/index.js +19 -0
  86. package/dist/selectorEngine.d.ts +4 -0
  87. package/dist/selectorEngine.js +18 -0
  88. package/dist/types.d.ts +54 -0
  89. package/dist/types.js +2 -0
  90. package/package.json +4 -4
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var annotationEditPage_1 = __importDefault(require("./annotationEditPage"));
7
+ var grafanaVersion_1 = __importDefault(require("./grafanaVersion"));
8
+ var selectors_1 = __importDefault(require("./selectors"));
9
+ var login_1 = __importDefault(require("./commands/login"));
10
+ var createDataSourceConfigPage_1 = __importDefault(require("./commands/createDataSourceConfigPage"));
11
+ var panelEditPage_1 = __importDefault(require("./panelEditPage"));
12
+ var createDataSource_1 = __importDefault(require("./commands/createDataSource"));
13
+ var readProvision_1 = __importDefault(require("./commands/readProvision"));
14
+ var newDashboardPage_1 = __importDefault(require("./newDashboardPage"));
15
+ var variableEditPage_1 = __importDefault(require("./variableEditPage"));
16
+ var explorePage_1 = __importDefault(require("./explorePage"));
17
+ exports.default = {
18
+ selectors: selectors_1.default,
19
+ grafanaVersion: grafanaVersion_1.default,
20
+ login: login_1.default,
21
+ createDataSourceConfigPage: createDataSourceConfigPage_1.default,
22
+ newDashboardPage: newDashboardPage_1.default,
23
+ panelEditPage: panelEditPage_1.default,
24
+ variableEditPage: variableEditPage_1.default,
25
+ annotationEditPage: annotationEditPage_1.default,
26
+ explorePage: explorePage_1.default,
27
+ createDataSource: createDataSource_1.default,
28
+ readProvision: readProvision_1.default,
29
+ };
@@ -0,0 +1,7 @@
1
+ import { TestFixture } from '@playwright/test';
2
+ import { PluginFixture, PluginOptions } from '../api';
3
+ import { DashboardPage } from '../models';
4
+ import { PlaywrightCombinedArgs } from './types';
5
+ type NewDashboardPageFixture = TestFixture<DashboardPage, PluginFixture & PluginOptions & PlaywrightCombinedArgs>;
6
+ declare const newDashboardPage: NewDashboardPageFixture;
7
+ export default newDashboardPage;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var models_1 = require("../models");
40
+ var newDashboardPage = function (_a, use) {
41
+ var page = _a.page, request = _a.request, selectors = _a.selectors, grafanaVersion = _a.grafanaVersion;
42
+ return __awaiter(void 0, void 0, void 0, function () {
43
+ var newDashboardPage;
44
+ return __generator(this, function (_b) {
45
+ switch (_b.label) {
46
+ case 0:
47
+ newDashboardPage = new models_1.DashboardPage({ page: page, selectors: selectors, grafanaVersion: grafanaVersion, request: request });
48
+ return [4, newDashboardPage.goto()];
49
+ case 1:
50
+ _b.sent();
51
+ return [4, use(newDashboardPage)];
52
+ case 2:
53
+ _b.sent();
54
+ return [2];
55
+ }
56
+ });
57
+ });
58
+ };
59
+ exports.default = newDashboardPage;
@@ -0,0 +1,7 @@
1
+ import { TestFixture } from '@playwright/test';
2
+ import { PluginFixture, PluginOptions } from '../api';
3
+ import { PanelEditPage } from '../models';
4
+ import { PlaywrightCombinedArgs } from './types';
5
+ type PanelEditPageFixture = TestFixture<PanelEditPage, PluginFixture & PluginOptions & PlaywrightCombinedArgs>;
6
+ declare const panelEditPage: PanelEditPageFixture;
7
+ export default panelEditPage;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var panelEditPage = function (_a, use) {
40
+ var newDashboardPage = _a.newDashboardPage;
41
+ return __awaiter(void 0, void 0, void 0, function () {
42
+ var panelEditPage;
43
+ return __generator(this, function (_b) {
44
+ switch (_b.label) {
45
+ case 0: return [4, newDashboardPage.addPanel()];
46
+ case 1:
47
+ panelEditPage = _b.sent();
48
+ return [4, use(panelEditPage)];
49
+ case 2:
50
+ _b.sent();
51
+ return [2];
52
+ }
53
+ });
54
+ });
55
+ };
56
+ exports.default = panelEditPage;
@@ -0,0 +1,7 @@
1
+ import { TestFixture } from '@playwright/test';
2
+ import { PluginFixture, PluginOptions } from '../api';
3
+ import { E2ESelectors } from '../e2e-selectors';
4
+ import { PlaywrightCombinedArgs } from './types';
5
+ type SelectorFixture = TestFixture<E2ESelectors, PluginFixture & PluginOptions & PlaywrightCombinedArgs>;
6
+ declare const selectors: SelectorFixture;
7
+ export default selectors;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var e2e_selectors_1 = require("../e2e-selectors");
40
+ var versioned_1 = require("../e2e-selectors/versioned");
41
+ var apis_1 = require("../e2e-selectors/versioned/apis");
42
+ var selectors = function (_a, use) {
43
+ var grafanaVersion = _a.grafanaVersion;
44
+ return __awaiter(void 0, void 0, void 0, function () {
45
+ var selectors;
46
+ return __generator(this, function (_b) {
47
+ switch (_b.label) {
48
+ case 0:
49
+ selectors = (0, e2e_selectors_1.resolveSelectors)({
50
+ components: versioned_1.versionedComponents,
51
+ pages: versioned_1.versionedPages,
52
+ apis: apis_1.versionedAPIs,
53
+ }, grafanaVersion);
54
+ return [4, use(selectors)];
55
+ case 1:
56
+ _b.sent();
57
+ return [2];
58
+ }
59
+ });
60
+ });
61
+ };
62
+ exports.default = selectors;
@@ -0,0 +1,2 @@
1
+ import { PlaywrightTestArgs, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions } from '@playwright/test';
2
+ export type PlaywrightCombinedArgs = PlaywrightTestArgs & PlaywrightTestOptions & PlaywrightWorkerArgs & PlaywrightWorkerOptions;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { TestFixture } from '@playwright/test';
2
+ import { PluginFixture, PluginOptions } from '../api';
3
+ import { VariableEditPage } from '../models';
4
+ import { PlaywrightCombinedArgs } from './types';
5
+ type VariableEditPageFixture = TestFixture<VariableEditPage, PluginFixture & PluginOptions & PlaywrightCombinedArgs>;
6
+ declare const variableEditPage: VariableEditPageFixture;
7
+ export default variableEditPage;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var models_1 = require("../models");
40
+ var variableEditPage = function (_a, use) {
41
+ var page = _a.page, selectors = _a.selectors, grafanaVersion = _a.grafanaVersion, request = _a.request;
42
+ return __awaiter(void 0, void 0, void 0, function () {
43
+ var variablePage, variableEditPage;
44
+ return __generator(this, function (_b) {
45
+ switch (_b.label) {
46
+ case 0:
47
+ variablePage = new models_1.VariablePage({ page: page, selectors: selectors, grafanaVersion: grafanaVersion, request: request });
48
+ return [4, variablePage.goto()];
49
+ case 1:
50
+ _b.sent();
51
+ return [4, variablePage.clickAddNew()];
52
+ case 2:
53
+ variableEditPage = _b.sent();
54
+ return [4, use(variableEditPage)];
55
+ case 3:
56
+ _b.sent();
57
+ return [2];
58
+ }
59
+ });
60
+ });
61
+ };
62
+ exports.default = variableEditPage;
package/dist/index.d.ts CHANGED
@@ -0,0 +1,3 @@
1
+ export { expect, test, type PluginFixture, type PluginOptions } from './api';
2
+ export * from './e2e-selectors';
3
+ export * from './fixtures';
package/dist/index.js CHANGED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.test = exports.expect = void 0;
18
+ var api_1 = require("./api");
19
+ Object.defineProperty(exports, "expect", { enumerable: true, get: function () { return api_1.expect; } });
20
+ Object.defineProperty(exports, "test", { enumerable: true, get: function () { return api_1.test; } });
21
+ __exportStar(require("./e2e-selectors"), exports);
22
+ __exportStar(require("./fixtures"), exports);
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ toBeOK: (request: Promise<import("playwright-core").Response>) => Promise<{
3
+ message: () => string;
4
+ pass: boolean;
5
+ actual: number;
6
+ }>;
7
+ toHavePanelError: (panelError: import("../types").PanelError, options?: {
8
+ timeout?: number;
9
+ }) => Promise<{
10
+ message: () => any;
11
+ pass: boolean;
12
+ actual: number;
13
+ }>;
14
+ toDisplayPreviews: (variableEditPage: import("../models").VariableEditPage, previewTexts: (string | RegExp)[]) => Promise<{
15
+ pass: boolean;
16
+ actual: boolean;
17
+ message: () => string;
18
+ }>;
19
+ };
20
+ export default _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var toBeOK_1 = __importDefault(require("./toBeOK"));
7
+ var toHavePanelError_1 = __importDefault(require("./toHavePanelError"));
8
+ var toDisplayPreviews_1 = __importDefault(require("./toDisplayPreviews"));
9
+ exports.default = {
10
+ toBeOK: toBeOK_1.default,
11
+ toHavePanelError: toHavePanelError_1.default,
12
+ toDisplayPreviews: toDisplayPreviews_1.default,
13
+ };
@@ -0,0 +1,7 @@
1
+ import { Response } from '@playwright/test';
2
+ declare const toBeOK: (request: Promise<Response>) => Promise<{
3
+ message: () => string;
4
+ pass: boolean;
5
+ actual: number;
6
+ }>;
7
+ export default toBeOK;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var utils_1 = require("./utils");
40
+ var toBeOK = function (request) { return __awaiter(void 0, void 0, void 0, function () {
41
+ var pass, actual, message, response_1, err_1;
42
+ return __generator(this, function (_a) {
43
+ switch (_a.label) {
44
+ case 0:
45
+ pass = false;
46
+ message = 'Response status code is within 200..299 range.';
47
+ _a.label = 1;
48
+ case 1:
49
+ _a.trys.push([1, 3, , 4]);
50
+ return [4, request];
51
+ case 2:
52
+ response_1 = _a.sent();
53
+ return [2, {
54
+ message: function () { return (0, utils_1.getMessage)(message, response_1.status().toString()); },
55
+ pass: response_1.ok(),
56
+ actual: response_1.status(),
57
+ }];
58
+ case 3:
59
+ err_1 = _a.sent();
60
+ return [2, {
61
+ message: function () { return (0, utils_1.getMessage)(message, err_1 instanceof Error ? err_1.toString() : 'Unknown error'); },
62
+ pass: pass,
63
+ actual: actual,
64
+ }];
65
+ case 4: return [2];
66
+ }
67
+ });
68
+ }); };
69
+ exports.default = toBeOK;
@@ -0,0 +1,7 @@
1
+ import { VariableEditPage } from '../models';
2
+ declare const toDisplayPreviews: (variableEditPage: VariableEditPage, previewTexts: Array<string | RegExp>) => Promise<{
3
+ pass: boolean;
4
+ actual: boolean;
5
+ message: () => string;
6
+ }>;
7
+ export default toDisplayPreviews;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var test_1 = require("@playwright/test");
40
+ var utils_1 = require("./utils");
41
+ var toDisplayPreviews = function (variableEditPage, previewTexts) { return __awaiter(void 0, void 0, void 0, function () {
42
+ var pass, actual, message, err_1;
43
+ return __generator(this, function (_a) {
44
+ switch (_a.label) {
45
+ case 0:
46
+ pass = false;
47
+ message = "To find preview of values: ".concat(previewTexts.join(', '), "}");
48
+ _a.label = 1;
49
+ case 1:
50
+ _a.trys.push([1, 3, , 4]);
51
+ return [4, (0, test_1.expect)(variableEditPage.getByTestIdOrAriaLabel(variableEditPage.ctx.selectors.pages.Dashboard.Settings.Variables.Edit.General.previewOfValuesOption)).toContainText(previewTexts)];
52
+ case 2:
53
+ _a.sent();
54
+ return [2, {
55
+ pass: true,
56
+ actual: false,
57
+ message: function () { return message; },
58
+ }];
59
+ case 3:
60
+ err_1 = _a.sent();
61
+ return [2, {
62
+ message: function () { return (0, utils_1.getMessage)(message, err_1 instanceof Error ? err_1.toString() : 'Unknown error'); },
63
+ pass: pass,
64
+ actual: actual,
65
+ }];
66
+ case 4: return [2];
67
+ }
68
+ });
69
+ }); };
70
+ exports.default = toDisplayPreviews;
@@ -0,0 +1,9 @@
1
+ import { PanelError } from '../types';
2
+ declare const toHavePanelError: (panelError: PanelError, options?: {
3
+ timeout?: number;
4
+ }) => Promise<{
5
+ message: () => any;
6
+ pass: boolean;
7
+ actual: number;
8
+ }>;
9
+ export default toHavePanelError;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var test_1 = require("@playwright/test");
40
+ var utils_1 = require("./utils");
41
+ var toHavePanelError = function (panelError, options) { return __awaiter(void 0, void 0, void 0, function () {
42
+ var pass, actual, message, numberOfErrors, _1;
43
+ return __generator(this, function (_a) {
44
+ switch (_a.label) {
45
+ case 0:
46
+ pass = true;
47
+ message = 'A panel error to be displayed';
48
+ _a.label = 1;
49
+ case 1:
50
+ _a.trys.push([1, 4, , 6]);
51
+ return [4, panelError.getPanelError().count()];
52
+ case 2:
53
+ numberOfErrors = _a.sent();
54
+ return [4, (0, test_1.expect)(numberOfErrors).toBe(1)];
55
+ case 3:
56
+ _a.sent();
57
+ return [3, 6];
58
+ case 4:
59
+ _1 = _a.sent();
60
+ message = (0, utils_1.getMessage)(message, 'No panel error was found on the page');
61
+ return [4, panelError.getPanelError().count()];
62
+ case 5:
63
+ actual = _a.sent();
64
+ pass = false;
65
+ return [3, 6];
66
+ case 6: return [2, {
67
+ message: function () { return message; },
68
+ pass: pass,
69
+ actual: actual,
70
+ }];
71
+ }
72
+ });
73
+ }); };
74
+ exports.default = toHavePanelError;
@@ -0,0 +1 @@
1
+ export declare const getMessage: (expected: string, received: string) => string;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMessage = void 0;
4
+ var getMessage = function (expected, received) { return "Expected: ".concat(expected, "\nReceived: ").concat(received); };
5
+ exports.getMessage = getMessage;
@@ -0,0 +1,8 @@
1
+ import { DataSourcePicker } from './DataSourcePicker';
2
+ import { PluginTestCtx, RequestOptions } from '../types';
3
+ import { GrafanaPage } from './GrafanaPage';
4
+ export declare class AnnotationEditPage extends GrafanaPage {
5
+ datasource: DataSourcePicker;
6
+ constructor(ctx: PluginTestCtx);
7
+ runQuery(options?: RequestOptions): Promise<import("playwright-core").Response>;
8
+ }