testplane 8.20.6 → 8.21.0

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 (60) hide show
  1. package/build/package.json +4 -1
  2. package/build/src/browser/commands/assert-view/assert-view-results.js +2 -0
  3. package/build/src/browser/commands/assert-view/assert-view-results.js.map +1 -1
  4. package/build/src/browser/commands/assert-view/capture-processors/assert-refs.d.ts +1 -0
  5. package/build/src/browser/commands/assert-view/capture-processors/assert-refs.js +4 -0
  6. package/build/src/browser/commands/assert-view/capture-processors/assert-refs.js.map +1 -1
  7. package/build/src/browser/commands/assert-view/capture-processors/update-refs.d.ts +3 -0
  8. package/build/src/browser/commands/assert-view/capture-processors/update-refs.js +7 -4
  9. package/build/src/browser/commands/assert-view/capture-processors/update-refs.js.map +1 -1
  10. package/build/src/browser/commands/assert-view/errors/invalid-ref-image-error.d.ts +8 -0
  11. package/build/src/browser/commands/assert-view/errors/invalid-ref-image-error.js +15 -0
  12. package/build/src/browser/commands/assert-view/errors/invalid-ref-image-error.js.map +1 -0
  13. package/build/src/browser/commands/assert-view/index.js +3 -3
  14. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  15. package/build/src/index.d.ts +1 -0
  16. package/build/src/index.js +15 -0
  17. package/build/src/index.js.map +1 -1
  18. package/build/src/mock/index.d.ts +4 -0
  19. package/build/src/mock/index.js +25 -0
  20. package/build/src/mock/index.js.map +1 -0
  21. package/build/src/mock/vitest-spy.d.ts +321 -0
  22. package/build/src/mock/vitest-spy.js +173 -0
  23. package/build/src/mock/vitest-spy.js.map +1 -0
  24. package/build/src/runner/browser-env/vite/browser-modules/mock.d.ts +5 -0
  25. package/build/src/runner/browser-env/vite/browser-modules/mock.js +38 -0
  26. package/build/src/runner/browser-env/vite/browser-modules/mock.js.map +1 -0
  27. package/build/src/runner/browser-env/vite/browser-modules/stubs/@wdio-logger.js.map +1 -0
  28. package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/default-module.js.map +1 -1
  29. package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/import-meta-resolve.js.map +1 -1
  30. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  31. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +2 -0
  32. package/build/src/runner/browser-env/vite/constants.d.ts +3 -0
  33. package/build/src/runner/browser-env/vite/constants.js +4 -1
  34. package/build/src/runner/browser-env/vite/constants.js.map +1 -1
  35. package/build/src/runner/browser-env/vite/manual-mock.d.ts +23 -0
  36. package/build/src/runner/browser-env/vite/manual-mock.js +65 -0
  37. package/build/src/runner/browser-env/vite/manual-mock.js.map +1 -0
  38. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +26 -25
  39. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
  40. package/build/src/runner/browser-env/vite/plugins/mock.d.ts +3 -0
  41. package/build/src/runner/browser-env/vite/plugins/mock.js +301 -0
  42. package/build/src/runner/browser-env/vite/plugins/mock.js.map +1 -0
  43. package/build/src/runner/browser-env/vite/server.js +8 -1
  44. package/build/src/runner/browser-env/vite/server.js.map +1 -1
  45. package/build/src/runner/browser-env/vite/types.d.ts +13 -0
  46. package/build/src/runner/browser-env/vite/types.js.map +1 -1
  47. package/build/src/runner/browser-env/vite/utils.d.ts +10 -0
  48. package/build/src/runner/browser-env/vite/utils.js +31 -1
  49. package/build/src/runner/browser-env/vite/utils.js.map +1 -1
  50. package/package.json +4 -1
  51. package/build/src/browser/commands/assert-view/errors/invalid-png-error.d.ts +0 -5
  52. package/build/src/browser/commands/assert-view/errors/invalid-png-error.js +0 -9
  53. package/build/src/browser/commands/assert-view/errors/invalid-png-error.js.map +0 -1
  54. package/build/src/runner/browser-env/vite/browser-modules/mock/@wdio-logger.js.map +0 -1
  55. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/@wdio-logger.d.ts +0 -0
  56. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/@wdio-logger.js +0 -0
  57. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/default-module.d.ts +0 -0
  58. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/default-module.js +0 -0
  59. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/import-meta-resolve.d.ts +0 -0
  60. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/import-meta-resolve.js +0 -0
@@ -2,7 +2,20 @@ import type { UserConfig, ConfigEnv } from "vite";
2
2
  import type { BrowserViteEvents, WorkerViteEvents, ViteBrowserEvents } from "./browser-modules/types";
3
3
  export type { BrowserViteEvents, WorkerViteEvents } from "./browser-modules/types";
4
4
  export interface BrowserTestRunEnvOptions {
5
+ /**
6
+ * Vite configuration
7
+ */
5
8
  viteConfig?: string | UserConfig | ((env: ConfigEnv) => UserConfig | Promise<UserConfig>);
9
+ /**
10
+ * If set to `true` Testplane will automatically mock dependencies within the `automockDir` directory
11
+ * @default false
12
+ */
13
+ automock?: boolean;
14
+ /**
15
+ * Path to automock directory in which Testplane will look for dependencies to mock
16
+ * @default ./__mocks__
17
+ */
18
+ automockDir?: string;
6
19
  }
7
20
  export interface ClientViteEvents extends BrowserViteEvents, WorkerViteEvents {
8
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/runner/browser-env/vite/types.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AAanD,gEAAgE;AAChE,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,sDAAiD,CAAA;IACjD,oEAA+D,CAAA;IAC/D,kEAA6D,CAAA;IAC7D,oEAA+D,CAAA;IAC/D,oDAA+C,CAAA;AACnD,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/runner/browser-env/vite/types.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AA0BnD,gEAAgE;AAChE,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,sDAAiD,CAAA;IACjD,oEAA+D,CAAA;IAC/D,kEAA6D,CAAA;IAC7D,oEAA+D,CAAA;IAC/D,oDAA+C,CAAA;AACnD,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B"}
@@ -1,3 +1,10 @@
1
+ import type { Connect } from "vite";
2
+ import type { WorkerInitializePayload } from "./browser-modules/types";
3
+ type TestInfoFromViteRequest = {
4
+ routeName: string;
5
+ runUuid: string;
6
+ env: WorkerInitializePayload;
7
+ };
1
8
  export declare const getImportMetaUrl: (path: string) => string;
2
9
  export declare const getNodeModulePath: ({ moduleName, rootDir, parent, }: {
3
10
  moduleName: string;
@@ -5,3 +12,6 @@ export declare const getNodeModulePath: ({ moduleName, rootDir, parent, }: {
5
12
  parent?: string | undefined;
6
13
  }) => Promise<string>;
7
14
  export declare const prepareError: (error: Error) => Error;
15
+ export declare const getTestInfoFromViteRequest: (req: Connect.IncomingMessage) => TestInfoFromViteRequest | null;
16
+ export declare const getPathWithoutExtName: (fsPath: string) => string;
17
+ export {};
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.prepareError = exports.getNodeModulePath = exports.getImportMetaUrl = void 0;
6
+ exports.getPathWithoutExtName = exports.getTestInfoFromViteRequest = exports.prepareError = exports.getNodeModulePath = exports.getImportMetaUrl = void 0;
7
7
  const node_url_1 = __importDefault(require("node:url"));
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const constants_1 = require("./constants");
9
11
  // TODO: use import.meta.url after migrate to esm
10
12
  const getImportMetaUrl = (path) => {
11
13
  return node_url_1.default.pathToFileURL(path).toString();
@@ -23,4 +25,32 @@ const prepareError = (error) => {
23
25
  return JSON.parse(JSON.stringify(error, Object.getOwnPropertyNames(error)));
24
26
  };
25
27
  exports.prepareError = prepareError;
28
+ const getTestInfoFromViteRequest = (req) => {
29
+ if (!req.url?.endsWith("index.html") || !req.originalUrl) {
30
+ return null;
31
+ }
32
+ const parsedUrl = node_url_1.default.parse(req.originalUrl);
33
+ const [routeName, runUuid] = lodash_1.default.compact(parsedUrl.pathname?.split("/"));
34
+ if (routeName !== constants_1.VITE_RUN_UUID_ROUTE || !runUuid) {
35
+ throw new Error(`Pathname must be in "/${constants_1.VITE_RUN_UUID_ROUTE}/:uuid" format, but got: ${req.originalUrl}`);
36
+ }
37
+ const env = constants_1.WORKER_ENV_BY_RUN_UUID.get(runUuid);
38
+ if (!env) {
39
+ throw new Error(`Worker environment is not found by "${runUuid}". ` +
40
+ "This is possible if:\n" +
41
+ ' - "runUuid" is not generated by Testplane\n' +
42
+ " - the test has already been completed\n" +
43
+ " - worker was disconnected");
44
+ }
45
+ return { routeName, runUuid, env };
46
+ };
47
+ exports.getTestInfoFromViteRequest = getTestInfoFromViteRequest;
48
+ const getPathWithoutExtName = (fsPath) => {
49
+ const extname = node_path_1.default.extname(fsPath);
50
+ if (!extname) {
51
+ return fsPath;
52
+ }
53
+ return fsPath.slice(0, -extname.length);
54
+ };
55
+ exports.getPathWithoutExtName = getPathWithoutExtName;
26
56
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/runner/browser-env/vite/utils.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA2B;AAC3B,0DAA6B;AAE7B,iDAAiD;AAC1C,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE;IACrD,OAAO,kBAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEK,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACpC,UAAU,EACV,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EACvB,MAAM,GAAG,cAAc,GAK1B,EAAmB,EAAE;IAClB,MAAM,WAAW,GAAG,kBAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEpD,qEAAqE;IACrE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAEhE,OAAO,OAAO,CAAC,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC;AAfW,QAAA,iBAAiB,qBAe5B;AAEF,mDAAmD;AAC5C,MAAM,YAAY,GAAG,CAAC,KAAY,EAAS,EAAE;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/runner/browser-env/vite/utils.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA2B;AAC3B,0DAA6B;AAC7B,oDAAuB;AAEvB,2CAA0E;AAW1E,iDAAiD;AAC1C,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE;IACrD,OAAO,kBAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEK,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACpC,UAAU,EACV,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EACvB,MAAM,GAAG,cAAc,GAK1B,EAAmB,EAAE;IAClB,MAAM,WAAW,GAAG,kBAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEpD,qEAAqE;IACrE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAEhE,OAAO,OAAO,CAAC,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC;AAfW,QAAA,iBAAiB,qBAe5B;AAEF,mDAAmD;AAC5C,MAAM,YAAY,GAAG,CAAC,KAAY,EAAS,EAAE;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEK,MAAM,0BAA0B,GAAG,CAAC,GAA4B,EAAkC,EAAE;IACvG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,kBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,gBAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvE,IAAI,SAAS,KAAK,+BAAmB,IAAI,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,+BAAmB,4BAA4B,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,MAAM,GAAG,GAAG,kCAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACX,uCAAuC,OAAO,KAAK;YAC/C,wBAAwB;YACxB,+CAA+C;YAC/C,2CAA2C;YAC3C,6BAA6B,CACpC,CAAC;IACN,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACvC,CAAC,CAAC;AAxBW,QAAA,0BAA0B,8BAwBrC;AAEK,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAU,EAAE;IAC5D,MAAM,OAAO,GAAG,mBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testplane",
3
- "version": "8.20.6",
3
+ "version": "8.21.0",
4
4
  "description": "Tests framework based on mocha and wdio",
5
5
  "main": "build/src/index.js",
6
6
  "files": [
@@ -56,6 +56,7 @@
56
56
  "@jspm/core": "2.0.1",
57
57
  "@types/debug": "4.1.12",
58
58
  "@types/yallist": "4.0.4",
59
+ "@vitest/spy": "2.1.4",
59
60
  "@wdio/globals": "8.39.0",
60
61
  "@wdio/protocols": "8.38.0",
61
62
  "@wdio/types": "8.39.0",
@@ -81,6 +82,7 @@
81
82
  "mocha": "10.2.0",
82
83
  "plugins-loader": "1.3.4",
83
84
  "png-validator": "1.1.0",
85
+ "recast": "0.23.6",
84
86
  "resolve.exports": "2.0.2",
85
87
  "sharp": "0.32.6",
86
88
  "sizzle": "2.3.6",
@@ -90,6 +92,7 @@
90
92
  "strftime": "0.10.2",
91
93
  "strip-ansi": "6.0.1",
92
94
  "temp": "0.8.3",
95
+ "tinyspy": "3.0.2",
93
96
  "urijs": "1.19.11",
94
97
  "url-join": "4.0.1",
95
98
  "vite": "5.1.6",
@@ -1,5 +0,0 @@
1
- export = InvalidPngError;
2
- declare class InvalidPngError extends Error {
3
- constructor(message: any);
4
- message: any;
5
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- module.exports = class InvalidPngError extends Error {
3
- constructor(message) {
4
- super();
5
- this.name = this.constructor.name;
6
- this.message = message;
7
- }
8
- };
9
- //# sourceMappingURL=invalid-png-error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invalid-png-error.js","sourceRoot":"","sources":["../../../../../../src/browser/commands/assert-view/errors/invalid-png-error.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,OAAO,GAAG,MAAM,eAAgB,SAAQ,KAAK;IAChD,YAAY,OAAO;QACf,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"@wdio-logger.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/mock/@wdio-logger.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS;IAC7B,OAAO;QACH,GAAG,EAAE,GAAS,EAAE,GAAE,CAAC;QACnB,IAAI,EAAE,GAAS,EAAE,GAAE,CAAC;QACpB,IAAI,EAAE,GAAS,EAAE,GAAE,CAAC;QACpB,KAAK,EAAE,GAAS,EAAE,GAAE,CAAC;KACK,CAAC;AACnC,CAAC;AAED,SAAS,CAAC,kBAAkB,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC"}