@grafana/plugin-e2e 0.0.3-canary.610.b925ceb.0 → 0.0.3

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 CHANGED
@@ -17,6 +17,7 @@ export type PluginFixture = {
17
17
  createDataSource: (args: CreateDataSourceArgs) => Promise<DataSource>;
18
18
  login: () => Promise<void>;
19
19
  readProvision<T = any>(args: ReadProvisionArgs): Promise<T>;
20
+ isFeatureToggleEnabled<T = object>(featureToggle: keyof T): Promise<boolean>;
20
21
  };
21
22
  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
23
  export declare const expect: import("@playwright/test").Expect<{
@@ -10,5 +10,6 @@ declare const _default: {
10
10
  explorePage: (args: import("..").PluginFixture & import("..").PluginOptions & import("playwright/test").PlaywrightTestArgs & import("playwright/test").PlaywrightTestOptions & import("playwright/test").PlaywrightWorkerArgs & import("playwright/test").PlaywrightWorkerOptions, use: (r: import("../models/ExplorePage").ExplorePage) => Promise<void>, testInfo: import("playwright/test").TestInfo) => any;
11
11
  createDataSource: (args: import("..").PluginFixture & import("..").PluginOptions & import("playwright/test").PlaywrightTestArgs & import("playwright/test").PlaywrightTestOptions & import("playwright/test").PlaywrightWorkerArgs & import("playwright/test").PlaywrightWorkerOptions, use: (r: (args: import("../types").CreateDataSourceArgs) => Promise<import("../types").DataSource<any>>) => Promise<void>, testInfo: import("playwright/test").TestInfo) => any;
12
12
  readProvision: (args: import("..").PluginFixture & import("..").PluginOptions & import("playwright/test").PlaywrightTestArgs & import("playwright/test").PlaywrightTestOptions & import("playwright/test").PlaywrightWorkerArgs & import("playwright/test").PlaywrightWorkerOptions, use: (r: <T = any>(args: import("../types").ReadProvisionArgs) => Promise<T>) => Promise<void>, testInfo: import("playwright/test").TestInfo) => any;
13
+ isFeatureToggleEnabled: (args: import("..").PluginFixture & import("..").PluginOptions & import("playwright/test").PlaywrightTestArgs & import("playwright/test").PlaywrightTestOptions & import("playwright/test").PlaywrightWorkerArgs & import("playwright/test").PlaywrightWorkerOptions, use: (r: <T_1 = object>(featureToggle: keyof T_1) => Promise<boolean>) => Promise<void>, testInfo: import("playwright/test").TestInfo) => any;
13
14
  };
14
15
  export default _default;
@@ -14,6 +14,7 @@ const readProvision_1 = __importDefault(require("./commands/readProvision"));
14
14
  const newDashboardPage_1 = __importDefault(require("./newDashboardPage"));
15
15
  const variableEditPage_1 = __importDefault(require("./variableEditPage"));
16
16
  const explorePage_1 = __importDefault(require("./explorePage"));
17
+ const isFeatureToggleEnabled_1 = __importDefault(require("./isFeatureToggleEnabled"));
17
18
  exports.default = {
18
19
  selectors: selectors_1.default,
19
20
  grafanaVersion: grafanaVersion_1.default,
@@ -26,4 +27,5 @@ exports.default = {
26
27
  explorePage: explorePage_1.default,
27
28
  createDataSource: createDataSource_1.default,
28
29
  readProvision: readProvision_1.default,
30
+ isFeatureToggleEnabled: isFeatureToggleEnabled_1.default,
29
31
  };
@@ -0,0 +1,6 @@
1
+ import { TestFixture } from '@playwright/test';
2
+ import { PluginFixture, PluginOptions } from '../api';
3
+ import { PlaywrightCombinedArgs } from './types';
4
+ type FeatureToggleFixture = TestFixture<(<T = object>(featureToggle: keyof T) => Promise<boolean>), PluginFixture & PluginOptions & PlaywrightCombinedArgs>;
5
+ declare const isFeatureToggleEnabled: FeatureToggleFixture;
6
+ export default isFeatureToggleEnabled;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const isFeatureToggleEnabled = async ({ page }, use) => {
4
+ await use(async (featureToggle) => {
5
+ const featureToggles = await page.evaluate('window.grafanaBootData.settings.featureToggles');
6
+ return Boolean(featureToggles[featureToggle]);
7
+ });
8
+ };
9
+ exports.default = isFeatureToggleEnabled;
@@ -1,4 +1,4 @@
1
- import { Locator, Request } from '@playwright/test';
1
+ import { Locator, Request, Response } from '@playwright/test';
2
2
  import { NavigateOptions, PluginTestCtx } from '../types';
3
3
  export declare abstract class GrafanaPage {
4
4
  readonly ctx: PluginTestCtx;
@@ -8,4 +8,5 @@ export declare abstract class GrafanaPage {
8
8
  mockQueryDataResponse<T = any>(json: T, status?: number): Promise<void>;
9
9
  mockResourceResponse<T = any>(path: string, json: T, status?: number): Promise<void>;
10
10
  waitForQueryDataRequest(cb?: (request: Request) => boolean | Promise<boolean>): Promise<Request>;
11
+ waitForQueryDataResponse(cb?: (request: Response) => boolean | Promise<boolean>): Promise<Response>;
11
12
  }
@@ -42,5 +42,13 @@ class GrafanaPage {
42
42
  return false;
43
43
  });
44
44
  }
45
+ async waitForQueryDataResponse(cb) {
46
+ return this.ctx.page.waitForResponse((response) => {
47
+ if (response.url().includes(this.ctx.selectors.apis.DataSource.query) && response.request().method() === 'POST') {
48
+ return cb ? cb(response) : true;
49
+ }
50
+ return false;
51
+ });
52
+ }
45
53
  }
46
54
  exports.GrafanaPage = GrafanaPage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafana/plugin-e2e",
3
- "version": "0.0.3-canary.610.b925ceb.0",
3
+ "version": "0.0.3",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "files": [
@@ -44,5 +44,5 @@
44
44
  "semver": "^7.5.4",
45
45
  "uuid": "^9.0.1"
46
46
  },
47
- "gitHead": "b925cebc8843c7fe06312fa52f3dfcc9b38ae475"
47
+ "gitHead": "9089459dfdad8c4bb04abc7adbe38320528a7229"
48
48
  }