@quickpickle/vitest-browser 0.0.3 → 0.1.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 (44) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +70 -0
  3. package/dist/VitestBrowserWorld.cjs +36 -17
  4. package/dist/VitestBrowserWorld.cjs.map +1 -1
  5. package/dist/VitestBrowserWorld.d.ts +36 -10
  6. package/dist/VitestBrowserWorld.mjs +36 -17
  7. package/dist/VitestBrowserWorld.mjs.map +1 -1
  8. package/dist/actions.steps.cjs +24 -0
  9. package/dist/actions.steps.cjs.map +1 -1
  10. package/dist/actions.steps.mjs +25 -1
  11. package/dist/actions.steps.mjs.map +1 -1
  12. package/dist/frameworks/ReactBrowserWorld.cjs +17 -6
  13. package/dist/frameworks/ReactBrowserWorld.cjs.map +1 -1
  14. package/dist/frameworks/ReactBrowserWorld.d.ts +9 -0
  15. package/dist/frameworks/ReactBrowserWorld.mjs +17 -7
  16. package/dist/frameworks/ReactBrowserWorld.mjs.map +1 -1
  17. package/dist/frameworks/SvelteBrowserWorld.cjs +11 -2
  18. package/dist/frameworks/SvelteBrowserWorld.cjs.map +1 -1
  19. package/dist/frameworks/SvelteBrowserWorld.d.ts +2 -3
  20. package/dist/frameworks/SvelteBrowserWorld.mjs +11 -2
  21. package/dist/frameworks/SvelteBrowserWorld.mjs.map +1 -1
  22. package/dist/frameworks/VueBrowserWorld.cjs +6 -4
  23. package/dist/frameworks/VueBrowserWorld.cjs.map +1 -1
  24. package/dist/frameworks/VueBrowserWorld.d.ts +1 -3
  25. package/dist/frameworks/VueBrowserWorld.mjs +6 -4
  26. package/dist/frameworks/VueBrowserWorld.mjs.map +1 -1
  27. package/dist/outcomes.steps.cjs +74 -0
  28. package/dist/outcomes.steps.cjs.map +1 -1
  29. package/dist/outcomes.steps.mjs +74 -0
  30. package/dist/outcomes.steps.mjs.map +1 -1
  31. package/package.json +2 -2
  32. package/src/VitestBrowserWorld.ts +60 -26
  33. package/src/actions.steps.ts +26 -0
  34. package/src/frameworks/ReactBrowserWorld.ts +22 -9
  35. package/src/frameworks/SvelteBrowserWorld.ts +11 -3
  36. package/src/frameworks/VueBrowserWorld.ts +6 -5
  37. package/src/outcomes.steps.ts +75 -0
  38. package/tests/generic/browser-actions.feature +193 -0
  39. package/tests/generic/browser-generic.feature +79 -0
  40. package/tests/generic/browser-outcomes.feature +138 -0
  41. package/tests/generic/generic.steps.ts +23 -0
  42. package/tests/svelte/Example.svelte +153 -0
  43. package/vite.config.ts +8 -0
  44. package/vitest.workspace.ts +5 -9
@@ -3,23 +3,31 @@
3
3
  var VitestBrowserWorld = require('../VitestBrowserWorld.cjs');
4
4
  var vitestBrowserReact = require('vitest-browser-react');
5
5
  var React = require('react');
6
+ var defaultsDeep = require('lodash/defaultsDeep');
6
7
  require('quickpickle');
7
- require('lodash/defaultsDeep');
8
8
 
9
+ const defaultReactOptions = {
10
+ /**
11
+ * The default extension to use when rendering components
12
+ * (if none is provided in the step)
13
+ */
14
+ defaultComponentExtension: 'tsx',
15
+ };
9
16
  class ReactBrowserWorld extends VitestBrowserWorld.VitestBrowserWorld {
10
17
  constructor(context, info) {
18
+ info.config.worldConfig = defaultsDeep(info.config.worldConfig, defaultReactOptions);
11
19
  super(context, info);
12
20
  this.renderFn = vitestBrowserReact.render;
13
21
  this.cleanupFn = vitestBrowserReact.cleanup;
14
22
  }
15
- // override VitestBrowserWorld.render
16
23
  async render(name, props, renderOptions) {
17
24
  let Component;
25
+ // Set the default extension if not provided
26
+ if (typeof name === 'string' && !name.match(/\.[jt]sx?$/))
27
+ name += '.' + this.worldConfig.defaultComponentExtension;
18
28
  if (typeof name === 'string') {
19
29
  // dynamic import returns the module object
20
- const mod = await import(`${this.projectRoot}/${this.worldConfig.componentDir}/${name}`.replace(/\/+/g, '/')
21
- /* @vite-ignore */
22
- );
30
+ let mod = await import(`${this.fullPath(`${this.worldConfig.componentDir}/${name}`)}` /* @vite-ignore */);
23
31
  // try .default first, then fall back to any other export
24
32
  Component = mod.default ?? Object.values(mod)[0];
25
33
  if (!Component) {
@@ -30,9 +38,12 @@ class ReactBrowserWorld extends VitestBrowserWorld.VitestBrowserWorld {
30
38
  Component = name;
31
39
  }
32
40
  // now call reactRender with the actual component
33
- await this.renderFn(React.createElement(Component, props), renderOptions);
41
+ let result = await vitestBrowserReact.render(React.createElement(Component, props), renderOptions);
42
+ this.page = result.container;
34
43
  }
44
+ async cleanup() { await vitestBrowserReact.cleanup(); }
35
45
  }
36
46
 
37
47
  exports.ReactBrowserWorld = ReactBrowserWorld;
48
+ exports.defaultReactOptions = defaultReactOptions;
38
49
  //# sourceMappingURL=ReactBrowserWorld.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactBrowserWorld.cjs","sources":["../../src/frameworks/ReactBrowserWorld.ts"],"sourcesContent":[null],"names":["VitestBrowserWorld","render","cleanup"],"mappings":";;;;;;;;AAMM,MAAO,iBAAkB,SAAQA,qCAAkB,CAAA;IAKvD,WAAY,CAAA,OAAmB,EAAE,IAAoB,EAAA;AACnD,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;QAJtB,IAAQ,CAAA,QAAA,GAAGC,yBAAM;QACjB,IAAS,CAAA,SAAA,GAAGC,0BAAO;;;AAOnB,IAAA,MAAM,MAAM,CAAC,IAAkB,EAAE,KAAW,EAAE,aAAmB,EAAA;AAC/D,QAAA,IAAI,SAAc;AAElB,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;;YAE5B,MAAM,GAAG,GAAG,MAAM,OAChB,GAAG,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAI,CAAA,EAAA,IAAI,CAAE,CAAA,CAAC,OAAO,CAAC,MAAM,EAAC,GAAG;;aAElF;;AAED,YAAA,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAA,EAAA,CAAI,CAC/D;;;aAEE;YACL,SAAS,GAAG,IAAI;;;AAIlB,QAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC;;AAG5E;;;;"}
1
+ {"version":3,"file":"ReactBrowserWorld.cjs","sources":["../../src/frameworks/ReactBrowserWorld.ts"],"sourcesContent":[null],"names":["VitestBrowserWorld","render","cleanup"],"mappings":";;;;;;;;AAOa,MAAA,mBAAmB,GAAG;AACjC;;;AAGG;AACH,IAAA,yBAAyB,EAAE,KAAK;;AAK5B,MAAO,iBAAkB,SAAQA,qCAAkB,CAAA;IAKvD,WAAY,CAAA,OAAmB,EAAE,IAAoB,EAAA;AACnD,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;AACpF,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;QALtB,IAAQ,CAAA,QAAA,GAAGC,yBAAM;QACjB,IAAS,CAAA,SAAA,GAAGC,0BAAO;;AAOnB,IAAA,MAAM,MAAM,CAAC,IAAe,EAAE,KAAU,EAAE,aAAkB,EAAA;AAC1D,QAAA,IAAI,SAAa;;QAEjB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACvD,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB;AAC1D,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;;YAE5B,IAAI,GAAG,GAAG,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAC,CAAE,CAAA,oBAAqB;;AAE1G,YAAA,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAA,EAAA,CAAI,CAC/D;;;aAEE;YACL,SAAS,GAAG,IAAI;;;AAIlB,QAAA,IAAI,MAAM,GAAG,MAAMD,yBAAM,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC;AAC/E,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS;;IAG9B,MAAM,OAAO,GAAK,EAAA,MAAMC,0BAAO,EAAE,CAAC;AAEnC;;;;;"}
@@ -2,9 +2,18 @@ import { VitestBrowserWorld } from "../VitestBrowserWorld";
2
2
  import { render, cleanup } from 'vitest-browser-react';
3
3
  import type { TestContext } from "vitest";
4
4
  import type { InfoConstructor } from "quickpickle/dist/world";
5
+ export declare const defaultReactOptions: {
6
+ /**
7
+ * The default extension to use when rendering components
8
+ * (if none is provided in the step)
9
+ */
10
+ defaultComponentExtension: string;
11
+ };
12
+ export type ReactWorldConfigSetting = Partial<typeof defaultReactOptions>;
5
13
  export declare class ReactBrowserWorld extends VitestBrowserWorld {
6
14
  renderFn: typeof render;
7
15
  cleanupFn: typeof cleanup;
8
16
  constructor(context: TestContext, info: InfoConstructor);
9
17
  render(name: string | any, props?: any, renderOptions?: any): Promise<void>;
18
+ cleanup(): Promise<void>;
10
19
  }
@@ -1,23 +1,31 @@
1
1
  import { VitestBrowserWorld } from '../VitestBrowserWorld.mjs';
2
2
  import { render, cleanup } from 'vitest-browser-react';
3
3
  import React from 'react';
4
+ import { defaultsDeep } from 'lodash-es';
4
5
  import 'quickpickle';
5
- import 'lodash-es';
6
6
 
7
+ const defaultReactOptions = {
8
+ /**
9
+ * The default extension to use when rendering components
10
+ * (if none is provided in the step)
11
+ */
12
+ defaultComponentExtension: 'tsx',
13
+ };
7
14
  class ReactBrowserWorld extends VitestBrowserWorld {
8
15
  constructor(context, info) {
16
+ info.config.worldConfig = defaultsDeep(info.config.worldConfig, defaultReactOptions);
9
17
  super(context, info);
10
18
  this.renderFn = render;
11
19
  this.cleanupFn = cleanup;
12
20
  }
13
- // override VitestBrowserWorld.render
14
21
  async render(name, props, renderOptions) {
15
22
  let Component;
23
+ // Set the default extension if not provided
24
+ if (typeof name === 'string' && !name.match(/\.[jt]sx?$/))
25
+ name += '.' + this.worldConfig.defaultComponentExtension;
16
26
  if (typeof name === 'string') {
17
27
  // dynamic import returns the module object
18
- const mod = await import(`${this.projectRoot}/${this.worldConfig.componentDir}/${name}`.replace(/\/+/g, '/')
19
- /* @vite-ignore */
20
- );
28
+ let mod = await import(`${this.fullPath(`${this.worldConfig.componentDir}/${name}`)}` /* @vite-ignore */);
21
29
  // try .default first, then fall back to any other export
22
30
  Component = mod.default ?? Object.values(mod)[0];
23
31
  if (!Component) {
@@ -28,9 +36,11 @@ class ReactBrowserWorld extends VitestBrowserWorld {
28
36
  Component = name;
29
37
  }
30
38
  // now call reactRender with the actual component
31
- await this.renderFn(React.createElement(Component, props), renderOptions);
39
+ let result = await render(React.createElement(Component, props), renderOptions);
40
+ this.page = result.container;
32
41
  }
42
+ async cleanup() { await cleanup(); }
33
43
  }
34
44
 
35
- export { ReactBrowserWorld };
45
+ export { ReactBrowserWorld, defaultReactOptions };
36
46
  //# sourceMappingURL=ReactBrowserWorld.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactBrowserWorld.mjs","sources":["../../src/frameworks/ReactBrowserWorld.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactBrowserWorld.mjs","sources":["../../src/frameworks/ReactBrowserWorld.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -8,9 +8,18 @@ require('lodash/defaultsDeep');
8
8
  class SvelteBrowserWorld extends VitestBrowserWorld.VitestBrowserWorld {
9
9
  constructor(context, info) {
10
10
  super(context, info);
11
- this.renderFn = vitestBrowserSvelte.render;
12
- this.cleanupFn = vitestBrowserSvelte.cleanup;
13
11
  }
12
+ async render(name, props, renderOptions) {
13
+ if (typeof name === 'string' && !name.match(/\.svelte$/))
14
+ name += '.svelte';
15
+ let component = typeof name === 'string'
16
+ ? await import(`${this.fullPath(`${this.worldConfig.componentDir}/${name}`)}` /* @vite-ignore */)
17
+ : name;
18
+ let result = await vitestBrowserSvelte.render(component, props, renderOptions);
19
+ this.page = result.container;
20
+ }
21
+ ;
22
+ async cleanup() { await vitestBrowserSvelte.cleanup(); }
14
23
  }
15
24
 
16
25
  exports.SvelteBrowserWorld = SvelteBrowserWorld;
@@ -1 +1 @@
1
- {"version":3,"file":"SvelteBrowserWorld.cjs","sources":["../../src/frameworks/SvelteBrowserWorld.ts"],"sourcesContent":[null],"names":["VitestBrowserWorld","render","cleanup"],"mappings":";;;;;;;AAKM,MAAO,kBAAmB,SAAQA,qCAAkB,CAAA;IAKxD,WAAY,CAAA,OAAmB,EAAE,IAAoB,EAAA;AACnD,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;QAJtB,IAAQ,CAAA,QAAA,GAAGC,0BAAM;QACjB,IAAS,CAAA,SAAA,GAAGC,2BAAO;;AAMpB;;;;"}
1
+ {"version":3,"file":"SvelteBrowserWorld.cjs","sources":["../../src/frameworks/SvelteBrowserWorld.ts"],"sourcesContent":[null],"names":["VitestBrowserWorld","render","cleanup"],"mappings":";;;;;;;AAKM,MAAO,kBAAmB,SAAQA,qCAAkB,CAAA;IAExD,WAAY,CAAA,OAAmB,EAAE,IAAoB,EAAA;AACnD,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;;AAGtB,IAAA,MAAM,MAAM,CAAC,IAAe,EAAE,KAAU,EAAE,aAAkB,EAAA;QAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAAE,IAAI,IAAI,SAAS;AAC3E,QAAA,IAAI,SAAS,GAAG,OAAO,IAAI,KAAK;cAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC,CAAA,CAAE;cAC3E,IAAI;QACR,IAAI,MAAM,GAAG,MAAMC,0BAAM,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC;AAC1D,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS;;;IAG9B,MAAM,OAAO,GAAK,EAAA,MAAMC,2BAAO,EAAE,CAAC;AAEnC;;;;"}
@@ -1,9 +1,8 @@
1
1
  import { VitestBrowserWorld } from "../VitestBrowserWorld";
2
- import { render, cleanup } from 'vitest-browser-svelte';
3
2
  import type { TestContext } from "vitest";
4
3
  import { InfoConstructor } from "quickpickle/dist/world";
5
4
  export declare class SvelteBrowserWorld extends VitestBrowserWorld {
6
- renderFn: typeof render;
7
- cleanupFn: typeof cleanup;
8
5
  constructor(context: TestContext, info: InfoConstructor);
6
+ render(name: string | any, props?: any, renderOptions?: any): Promise<void>;
7
+ cleanup(): Promise<void>;
9
8
  }
@@ -6,9 +6,18 @@ import 'lodash-es';
6
6
  class SvelteBrowserWorld extends VitestBrowserWorld {
7
7
  constructor(context, info) {
8
8
  super(context, info);
9
- this.renderFn = render;
10
- this.cleanupFn = cleanup;
11
9
  }
10
+ async render(name, props, renderOptions) {
11
+ if (typeof name === 'string' && !name.match(/\.svelte$/))
12
+ name += '.svelte';
13
+ let component = typeof name === 'string'
14
+ ? await import(`${this.fullPath(`${this.worldConfig.componentDir}/${name}`)}` /* @vite-ignore */)
15
+ : name;
16
+ let result = await render(component, props, renderOptions);
17
+ this.page = result.container;
18
+ }
19
+ ;
20
+ async cleanup() { await cleanup(); }
12
21
  }
13
22
 
14
23
  export { SvelteBrowserWorld };
@@ -1 +1 @@
1
- {"version":3,"file":"SvelteBrowserWorld.mjs","sources":["../../src/frameworks/SvelteBrowserWorld.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKM,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA;IAKxD,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,IAAoB,CAAA,CAAA;AACnD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,IAAI,CAAC;QAJtB,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA;QACjB,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;AAMpB;;"}
1
+ {"version":3,"file":"SvelteBrowserWorld.mjs","sources":["../../src/frameworks/SvelteBrowserWorld.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -8,17 +8,19 @@ require('lodash/defaultsDeep');
8
8
  class VueBrowserWorld extends VitestBrowserWorld.VitestBrowserWorld {
9
9
  constructor(context, info) {
10
10
  super(context, info);
11
- this.renderFn = vitestBrowserVue.render;
12
- this.cleanupFn = vitestBrowserVue.cleanup;
13
11
  }
14
12
  async render(name, props, renderOptions) {
13
+ if (typeof name === 'string' && !name.match(/\.vue$/))
14
+ name += '.vue';
15
15
  let mod = typeof name === 'string'
16
- ? await import(`${this.projectRoot}/${this.worldConfig.componentDir}/${name}`.replace(/\/+/g, '/') /* @vite-ignore */)
16
+ ? await import(`${this.fullPath(`${this.worldConfig.componentDir}/${name}`)}` /* @vite-ignore */)
17
17
  : name;
18
18
  let component = mod.default ?? mod;
19
- await this.renderFn(component, { props, ...renderOptions });
19
+ let result = await vitestBrowserVue.render(component, { props, ...renderOptions });
20
+ this.page = result.container;
20
21
  }
21
22
  ;
23
+ async cleanup() { await vitestBrowserVue.cleanup(); }
22
24
  }
23
25
 
24
26
  exports.VueBrowserWorld = VueBrowserWorld;
@@ -1 +1 @@
1
- {"version":3,"file":"VueBrowserWorld.cjs","sources":["../../src/frameworks/VueBrowserWorld.ts"],"sourcesContent":[null],"names":["VitestBrowserWorld","render","cleanup"],"mappings":";;;;;;;AAKM,MAAO,eAAgB,SAAQA,qCAAkB,CAAA;IAKrD,WAAY,CAAA,OAAmB,EAAE,IAAoB,EAAA;AACnD,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;QAJtB,IAAQ,CAAA,QAAA,GAAGC,uBAAM;QACjB,IAAS,CAAA,SAAA,GAAGC,wBAAO;;AAMnB,IAAA,MAAM,MAAM,CAAC,IAAe,EAAE,KAAU,EAAE,aAAkB,EAAA;AAC1D,QAAA,IAAI,GAAG,GAAG,OAAO,IAAI,KAAK;cACtB,MAAM,OAAO,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,CAAA,EAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAI,CAAA,EAAA,IAAI,CAAE,CAAA,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;cAChG,IAAI;AACR,QAAA,IAAI,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG;AAClC,QAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;;;AAG9D;;;;"}
1
+ {"version":3,"file":"VueBrowserWorld.cjs","sources":["../../src/frameworks/VueBrowserWorld.ts"],"sourcesContent":[null],"names":["VitestBrowserWorld","render","cleanup"],"mappings":";;;;;;;AAKM,MAAO,eAAgB,SAAQA,qCAAkB,CAAA;IAErD,WAAY,CAAA,OAAmB,EAAE,IAAoB,EAAA;AACnD,QAAA,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;;AAGtB,IAAA,MAAM,MAAM,CAAC,IAAe,EAAE,KAAU,EAAE,aAAkB,EAAA;QAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,IAAI,IAAI,MAAM;AACrE,QAAA,IAAI,GAAG,GAAG,OAAO,IAAI,KAAK;cACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC,CAAA,CAAE;cAC3E,IAAI;AACR,QAAA,IAAI,SAAS,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG;AAClC,QAAA,IAAI,MAAM,GAAG,MAAMC,uBAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;AACjE,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS;;;IAG9B,MAAM,OAAO,GAAK,EAAA,MAAMC,wBAAO,EAAE,CAAC;AAEnC;;;;"}
@@ -1,10 +1,8 @@
1
1
  import { VitestBrowserWorld } from "../VitestBrowserWorld";
2
- import { render, cleanup } from 'vitest-browser-vue';
3
2
  import type { TestContext } from "vitest";
4
3
  import type { InfoConstructor } from "quickpickle/dist/world";
5
4
  export declare class VueBrowserWorld extends VitestBrowserWorld {
6
- renderFn: typeof render;
7
- cleanupFn: typeof cleanup;
8
5
  constructor(context: TestContext, info: InfoConstructor);
9
6
  render(name: string | any, props?: any, renderOptions?: any): Promise<void>;
7
+ cleanup(): Promise<void>;
10
8
  }
@@ -6,17 +6,19 @@ import 'lodash-es';
6
6
  class VueBrowserWorld extends VitestBrowserWorld {
7
7
  constructor(context, info) {
8
8
  super(context, info);
9
- this.renderFn = render;
10
- this.cleanupFn = cleanup;
11
9
  }
12
10
  async render(name, props, renderOptions) {
11
+ if (typeof name === 'string' && !name.match(/\.vue$/))
12
+ name += '.vue';
13
13
  let mod = typeof name === 'string'
14
- ? await import(`${this.projectRoot}/${this.worldConfig.componentDir}/${name}`.replace(/\/+/g, '/') /* @vite-ignore */)
14
+ ? await import(`${this.fullPath(`${this.worldConfig.componentDir}/${name}`)}` /* @vite-ignore */)
15
15
  : name;
16
16
  let component = mod.default ?? mod;
17
- await this.renderFn(component, { props, ...renderOptions });
17
+ let result = await render(component, { props, ...renderOptions });
18
+ this.page = result.container;
18
19
  }
19
20
  ;
21
+ async cleanup() { await cleanup(); }
20
22
  }
21
23
 
22
24
  export { VueBrowserWorld };
@@ -1 +1 @@
1
- {"version":3,"file":"VueBrowserWorld.mjs","sources":["../../src/frameworks/VueBrowserWorld.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VueBrowserWorld.mjs","sources":["../../src/frameworks/VueBrowserWorld.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,6 +4,29 @@ var quickpickle = require('quickpickle');
4
4
  var vitest = require('vitest');
5
5
 
6
6
  /// <reference types="@vitest/browser/providers/playwright" />
7
+ vitest.expect.extend({
8
+ async toBeInTheViewport(locator) {
9
+ let frame = await locator.element();
10
+ while (frame.parentElement && frame.tagName !== 'HTML') {
11
+ frame = frame.parentElement;
12
+ }
13
+ const viewport = await frame.getBoundingClientRect();
14
+ const rect = await locator.element().getBoundingClientRect();
15
+ if (rect) {
16
+ const inViewport = (rect.right > 0 && rect.bottom > 0 && rect.top < viewport.height && rect.left < viewport.width);
17
+ return {
18
+ message: () => `expected ${locator.toString()} to be in viewport`,
19
+ pass: inViewport,
20
+ };
21
+ }
22
+ else {
23
+ return {
24
+ message: () => `could not get bounding box for ${locator.toString()}`,
25
+ pass: false,
26
+ };
27
+ }
28
+ }
29
+ });
7
30
  // ================
8
31
  // Text on page
9
32
  quickpickle.Then('I should see {string}( on the page)', async function (world, text) {
@@ -37,6 +60,23 @@ quickpickle.Then('I should not/NOT see a/an/the {string} (element )with (the )(t
37
60
  await world.expectElement(locator, false);
38
61
  });
39
62
  // ================
63
+ // Actions
64
+ quickpickle.Then('{string} should have been clicked/doubleclicked/dblclicked', async function (world, text) {
65
+ let single = world.info.step?.match(/ clicked$/);
66
+ if (single)
67
+ vitest.expect(world.actions.clicks.find((el) => (el && el?.textContent === text))).not.toBeNull();
68
+ else
69
+ vitest.expect(world.actions.doubleClicks.find((el) => (el && el?.textContent === text))).not.toBeNull();
70
+ });
71
+ quickpickle.Then('(the ){string} {word} should have been clicked/doubleclicked/dblclicked', async function (world, identifier, role) {
72
+ let single = world.info.step?.match(/ clicked$/);
73
+ let element = world.getLocator(world.page, identifier, role);
74
+ if (single)
75
+ vitest.expect(world.actions.clicks.find((el) => (el === element))).not.toBeNull();
76
+ else
77
+ vitest.expect(world.actions.doubleClicks.find((el) => (el === element))).not.toBeNull();
78
+ });
79
+ // ================
40
80
  // Element state
41
81
  quickpickle.Then('a/an/the {string} {word} should be visible/hidden/invisible', async function (world, identifier, role) {
42
82
  let state = world.info.step?.match(/(\w+)$/)[0];
@@ -109,6 +149,24 @@ quickpickle.Then('a/an/the {string} (element )with (the )(text ){string} should
109
149
  let locator = await world.getLocator(world.page, identifier, 'element', text);
110
150
  await vitest.expect(locator).not.toHaveFocus();
111
151
  });
152
+ quickpickle.Then('a/an/the {string} {word} should be in(side) (of )the viewport', async function (world, identifier, role) {
153
+ let locator = await world.getLocator(world.page, identifier, role);
154
+ // @ts-ignore
155
+ await vitest.expect(locator).toBeInTheViewport();
156
+ });
157
+ quickpickle.Then('a/an/the {string} {word} should be out(side) (of )the viewport', async function (world, identifier, role) {
158
+ let locator = await world.getLocator(world.page, identifier, role);
159
+ // @ts-ignore
160
+ vitest.expect(locator).not.toBeInTheViewport();
161
+ });
162
+ // Then('a/an/the {string} (element )with (the )(text ){string} should be in(side) (of )the viewport', async function (world:VitestBrowserWorld, identifier, text) {
163
+ // let locator = await world.getLocator(world.page, identifier, 'element', text)
164
+ // await isInViewport(world, locator)
165
+ // })
166
+ // Then('a/an/the {string} (element )with (the )(text ){string} should be out(side) (of )the viewport', async function (world:VitestBrowserWorld, identifier, text) {
167
+ // let locator = await world.getLocator(world.page, identifier, 'element', text)
168
+ // await isInViewport(world, locator)
169
+ // })
112
170
  // Values
113
171
  quickpickle.Then('a/an/the (value of ){string} should contain/include/be/equal {string}', async function (world, identifier, expected) {
114
172
  let exact = world.info.step?.match(/ should (?:be|equal) ['"]/) ? true : false;
@@ -150,6 +208,22 @@ quickpickle.Then('a/an/the (value of )(the ){string} {word} should not/NOT conta
150
208
  await vitest.expect(actual).not.toContain(expected);
151
209
  }
152
210
  });
211
+ quickpickle.Then('a/an/the (value of ){string} should be/equal {int}', async function (world, identifier, expected) {
212
+ let locator = await world.getLocator(world.page, identifier, 'input');
213
+ await vitest.expect(locator).toHaveValue(expected);
214
+ });
215
+ quickpickle.Then('a/an/the (value of )(the ){string} {word} should be/equal {int}', async function (world, identifier, role, expected) {
216
+ let locator = await world.getLocator(world.page, identifier, role);
217
+ await vitest.expect(locator).toHaveValue(expected);
218
+ });
219
+ quickpickle.Then('a/an/the (value of )(the ){string} should not/NOT be/equal {int}', async function (world, identifier, expected) {
220
+ let locator = await world.getLocator(world.page, identifier, 'input');
221
+ await vitest.expect(locator).not.toHaveValue(expected);
222
+ });
223
+ quickpickle.Then('a/an/the (value of )(the ){string} {word} should not/NOT be/equal {int}', async function (world, identifier, role, expected) {
224
+ let locator = await world.getLocator(world.page, identifier, role);
225
+ await vitest.expect(locator).not.toHaveValue(expected);
226
+ });
153
227
  // Visual regression testing
154
228
  quickpickle.Then('(the )screenshot/snapshot should match', async function (world) {
155
229
  await vitest.expect(world.page).toMatchImageSnapshot({
@@ -1 +1 @@
1
- {"version":3,"file":"outcomes.steps.cjs","sources":["../src/outcomes.steps.ts"],"sourcesContent":[null],"names":["Then","expect"],"mappings":"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"}
1
+ {"version":3,"file":"outcomes.steps.cjs","sources":["../src/outcomes.steps.ts"],"sourcesContent":[null],"names":["expect","Then"],"mappings":"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"}
@@ -2,6 +2,29 @@ import { Then } from 'quickpickle';
2
2
  import { expect } from 'vitest';
3
3
 
4
4
  /// <reference types="@vitest/browser/providers/playwright" />
5
+ expect.extend({
6
+ async toBeInTheViewport(locator) {
7
+ let frame = await locator.element();
8
+ while (frame.parentElement && frame.tagName !== 'HTML') {
9
+ frame = frame.parentElement;
10
+ }
11
+ const viewport = await frame.getBoundingClientRect();
12
+ const rect = await locator.element().getBoundingClientRect();
13
+ if (rect) {
14
+ const inViewport = (rect.right > 0 && rect.bottom > 0 && rect.top < viewport.height && rect.left < viewport.width);
15
+ return {
16
+ message: () => `expected ${locator.toString()} to be in viewport`,
17
+ pass: inViewport,
18
+ };
19
+ }
20
+ else {
21
+ return {
22
+ message: () => `could not get bounding box for ${locator.toString()}`,
23
+ pass: false,
24
+ };
25
+ }
26
+ }
27
+ });
5
28
  // ================
6
29
  // Text on page
7
30
  Then('I should see {string}( on the page)', async function (world, text) {
@@ -35,6 +58,23 @@ Then('I should not/NOT see a/an/the {string} (element )with (the )(text ){string
35
58
  await world.expectElement(locator, false);
36
59
  });
37
60
  // ================
61
+ // Actions
62
+ Then('{string} should have been clicked/doubleclicked/dblclicked', async function (world, text) {
63
+ let single = world.info.step?.match(/ clicked$/);
64
+ if (single)
65
+ expect(world.actions.clicks.find((el) => (el && el?.textContent === text))).not.toBeNull();
66
+ else
67
+ expect(world.actions.doubleClicks.find((el) => (el && el?.textContent === text))).not.toBeNull();
68
+ });
69
+ Then('(the ){string} {word} should have been clicked/doubleclicked/dblclicked', async function (world, identifier, role) {
70
+ let single = world.info.step?.match(/ clicked$/);
71
+ let element = world.getLocator(world.page, identifier, role);
72
+ if (single)
73
+ expect(world.actions.clicks.find((el) => (el === element))).not.toBeNull();
74
+ else
75
+ expect(world.actions.doubleClicks.find((el) => (el === element))).not.toBeNull();
76
+ });
77
+ // ================
38
78
  // Element state
39
79
  Then('a/an/the {string} {word} should be visible/hidden/invisible', async function (world, identifier, role) {
40
80
  let state = world.info.step?.match(/(\w+)$/)[0];
@@ -107,6 +147,24 @@ Then('a/an/the {string} (element )with (the )(text ){string} should be unfocused
107
147
  let locator = await world.getLocator(world.page, identifier, 'element', text);
108
148
  await expect(locator).not.toHaveFocus();
109
149
  });
150
+ Then('a/an/the {string} {word} should be in(side) (of )the viewport', async function (world, identifier, role) {
151
+ let locator = await world.getLocator(world.page, identifier, role);
152
+ // @ts-ignore
153
+ await expect(locator).toBeInTheViewport();
154
+ });
155
+ Then('a/an/the {string} {word} should be out(side) (of )the viewport', async function (world, identifier, role) {
156
+ let locator = await world.getLocator(world.page, identifier, role);
157
+ // @ts-ignore
158
+ expect(locator).not.toBeInTheViewport();
159
+ });
160
+ // Then('a/an/the {string} (element )with (the )(text ){string} should be in(side) (of )the viewport', async function (world:VitestBrowserWorld, identifier, text) {
161
+ // let locator = await world.getLocator(world.page, identifier, 'element', text)
162
+ // await isInViewport(world, locator)
163
+ // })
164
+ // Then('a/an/the {string} (element )with (the )(text ){string} should be out(side) (of )the viewport', async function (world:VitestBrowserWorld, identifier, text) {
165
+ // let locator = await world.getLocator(world.page, identifier, 'element', text)
166
+ // await isInViewport(world, locator)
167
+ // })
110
168
  // Values
111
169
  Then('a/an/the (value of ){string} should contain/include/be/equal {string}', async function (world, identifier, expected) {
112
170
  let exact = world.info.step?.match(/ should (?:be|equal) ['"]/) ? true : false;
@@ -148,6 +206,22 @@ Then('a/an/the (value of )(the ){string} {word} should not/NOT contain/include/b
148
206
  await expect(actual).not.toContain(expected);
149
207
  }
150
208
  });
209
+ Then('a/an/the (value of ){string} should be/equal {int}', async function (world, identifier, expected) {
210
+ let locator = await world.getLocator(world.page, identifier, 'input');
211
+ await expect(locator).toHaveValue(expected);
212
+ });
213
+ Then('a/an/the (value of )(the ){string} {word} should be/equal {int}', async function (world, identifier, role, expected) {
214
+ let locator = await world.getLocator(world.page, identifier, role);
215
+ await expect(locator).toHaveValue(expected);
216
+ });
217
+ Then('a/an/the (value of )(the ){string} should not/NOT be/equal {int}', async function (world, identifier, expected) {
218
+ let locator = await world.getLocator(world.page, identifier, 'input');
219
+ await expect(locator).not.toHaveValue(expected);
220
+ });
221
+ Then('a/an/the (value of )(the ){string} {word} should not/NOT be/equal {int}', async function (world, identifier, role, expected) {
222
+ let locator = await world.getLocator(world.page, identifier, role);
223
+ await expect(locator).not.toHaveValue(expected);
224
+ });
151
225
  // Visual regression testing
152
226
  Then('(the )screenshot/snapshot should match', async function (world) {
153
227
  await expect(world.page).toMatchImageSnapshot({
@@ -1 +1 @@
1
- {"version":3,"file":"outcomes.steps.mjs","sources":["../src/outcomes.steps.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outcomes.steps.mjs","sources":["../src/outcomes.steps.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}