@cedarjs/testing 7.0.0-canary.3259 → 7.0.0-rc.123

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 (218) hide show
  1. package/config/jest/api/RedwoodApiJestEnv.d.ts +11 -0
  2. package/config/jest/api/RedwoodApiJestEnv.d.ts.map +1 -0
  3. package/config/jest/api/RedwoodApiJestEnv.js +48 -0
  4. package/config/jest/api/apiBabelConfig.d.ts +5 -0
  5. package/config/jest/api/apiBabelConfig.d.ts.map +1 -0
  6. package/config/jest/api/apiBabelConfig.js +34 -0
  7. package/config/jest/api/globalSetup.d.ts +3 -0
  8. package/config/jest/api/globalSetup.d.ts.map +1 -0
  9. package/config/jest/api/globalSetup.js +63 -0
  10. package/config/jest/api/index.d.ts +3 -0
  11. package/config/jest/api/index.d.ts.map +1 -0
  12. package/config/jest/api/index.js +25 -0
  13. package/config/jest/api/jest-preset.d.ts +4 -0
  14. package/config/jest/api/jest-preset.d.ts.map +1 -0
  15. package/config/jest/api/jest-preset.js +140 -0
  16. package/config/jest/api/jest.setup.d.ts +2 -0
  17. package/config/jest/api/jest.setup.d.ts.map +1 -0
  18. package/config/jest/api/jest.setup.js +267 -0
  19. package/config/jest/api/package.json +8 -0
  20. package/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts +11 -0
  21. package/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -0
  22. package/config/jest/babelPlugins/babel-plugin-redwood-cell.js +122 -0
  23. package/config/jest/jest-serial-runner.d.ts +8 -0
  24. package/config/jest/jest-serial-runner.d.ts.map +1 -0
  25. package/config/jest/jest-serial-runner.js +37 -0
  26. package/config/jest/web/RedwoodWebJestEnv.d.ts +6 -0
  27. package/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -0
  28. package/config/jest/web/RedwoodWebJestEnv.js +43 -0
  29. package/config/jest/web/index.d.ts +3 -0
  30. package/config/jest/web/index.d.ts.map +1 -0
  31. package/config/jest/web/index.js +25 -0
  32. package/config/jest/web/jest-fixed-jsdom.d.js +1 -0
  33. package/config/jest/web/jest-preset.d.ts +4 -0
  34. package/config/jest/web/jest-preset.d.ts.map +1 -0
  35. package/config/jest/web/jest-preset.js +224 -0
  36. package/config/jest/web/jest.setup.d.ts +7 -0
  37. package/config/jest/web/jest.setup.d.ts.map +1 -0
  38. package/config/jest/web/jest.setup.js +21 -0
  39. package/config/jest/web/package.json +8 -0
  40. package/config/jest/web/resolver.d.ts +4 -0
  41. package/config/jest/web/resolver.d.ts.map +1 -0
  42. package/config/jest/web/resolver.js +30 -0
  43. package/config/jest/web/webBabelConfig.d.ts +10 -0
  44. package/config/jest/web/webBabelConfig.d.ts.map +1 -0
  45. package/config/jest/web/webBabelConfig.js +48 -0
  46. package/config/package.json +1 -0
  47. package/dist/api/mockContext.d.ts +1 -1
  48. package/dist/api/mockContext.d.ts.map +1 -1
  49. package/dist/api/vitest/vite-plugin-cedar-vitest-api-config.d.ts.map +1 -1
  50. package/dist/api/vitest/vite-plugin-cedar-vitest-api-config.js +1 -6
  51. package/dist/api/vitest/vitest-api.setup.d.ts.map +1 -1
  52. package/dist/api/vitest/vitest-api.setup.js +22 -9
  53. package/dist/cjs/api/apiFunction.d.ts +37 -0
  54. package/dist/cjs/api/apiFunction.d.ts.map +1 -0
  55. package/dist/cjs/api/apiFunction.js +89 -0
  56. package/dist/cjs/api/checkTestDatabase.d.ts +50 -0
  57. package/dist/cjs/api/checkTestDatabase.d.ts.map +1 -0
  58. package/dist/cjs/api/checkTestDatabase.js +182 -0
  59. package/dist/cjs/api/directive.d.ts +51 -0
  60. package/dist/cjs/api/directive.d.ts.map +1 -0
  61. package/dist/cjs/api/directive.js +77 -0
  62. package/dist/cjs/api/index.d.ts +4 -0
  63. package/dist/cjs/api/index.d.ts.map +1 -0
  64. package/dist/cjs/api/index.js +26 -0
  65. package/dist/cjs/api/mockContext.d.ts +5 -0
  66. package/dist/cjs/api/mockContext.d.ts.map +1 -0
  67. package/dist/cjs/api/mockContext.js +58 -0
  68. package/dist/cjs/api/scenario.d.ts +108 -0
  69. package/dist/cjs/api/scenario.d.ts.map +1 -0
  70. package/dist/cjs/api/scenario.js +30 -0
  71. package/dist/cjs/api/vitest/CedarApiVitestEnv.js +86 -0
  72. package/dist/cjs/api/vitest/index.js +34 -0
  73. package/dist/cjs/api/vitest/vite-plugin-auto-import.js +71 -0
  74. package/dist/cjs/api/vitest/vite-plugin-cedar-vitest-api-config.js +69 -0
  75. package/dist/cjs/api/vitest/vite-plugin-track-db-imports.js +47 -0
  76. package/dist/cjs/api/vitest/vitest-api.setup.js +270 -0
  77. package/dist/cjs/cache/index.d.ts +50 -0
  78. package/dist/cjs/cache/index.d.ts.map +1 -0
  79. package/dist/cjs/cache/index.js +104 -0
  80. package/dist/cjs/config/jest/api/RedwoodApiJestEnv.d.ts +11 -0
  81. package/dist/cjs/config/jest/api/RedwoodApiJestEnv.d.ts.map +1 -0
  82. package/dist/cjs/config/jest/api/RedwoodApiJestEnv.js +48 -0
  83. package/dist/cjs/config/jest/api/apiBabelConfig.d.ts +5 -0
  84. package/dist/cjs/config/jest/api/apiBabelConfig.d.ts.map +1 -0
  85. package/dist/cjs/config/jest/api/apiBabelConfig.js +34 -0
  86. package/dist/cjs/config/jest/api/globalSetup.d.ts +3 -0
  87. package/dist/cjs/config/jest/api/globalSetup.d.ts.map +1 -0
  88. package/dist/cjs/config/jest/api/globalSetup.js +63 -0
  89. package/dist/cjs/config/jest/api/index.d.ts +3 -0
  90. package/dist/cjs/config/jest/api/index.d.ts.map +1 -0
  91. package/dist/cjs/config/jest/api/index.js +25 -0
  92. package/dist/cjs/config/jest/api/jest-preset.d.ts +4 -0
  93. package/dist/cjs/config/jest/api/jest-preset.d.ts.map +1 -0
  94. package/dist/cjs/config/jest/api/jest-preset.js +140 -0
  95. package/dist/cjs/config/jest/api/jest.setup.d.ts +2 -0
  96. package/dist/cjs/config/jest/api/jest.setup.d.ts.map +1 -0
  97. package/dist/cjs/config/jest/api/jest.setup.js +267 -0
  98. package/dist/cjs/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts +11 -0
  99. package/dist/cjs/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -0
  100. package/dist/cjs/config/jest/babelPlugins/babel-plugin-redwood-cell.js +122 -0
  101. package/dist/cjs/config/jest/jest-serial-runner.d.ts +8 -0
  102. package/dist/cjs/config/jest/jest-serial-runner.d.ts.map +1 -0
  103. package/dist/cjs/config/jest/jest-serial-runner.js +37 -0
  104. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.d.ts +6 -0
  105. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -0
  106. package/dist/cjs/config/jest/web/RedwoodWebJestEnv.js +43 -0
  107. package/dist/cjs/config/jest/web/index.d.ts +3 -0
  108. package/dist/cjs/config/jest/web/index.d.ts.map +1 -0
  109. package/dist/cjs/config/jest/web/index.js +25 -0
  110. package/dist/cjs/config/jest/web/jest-fixed-jsdom.d.js +1 -0
  111. package/dist/cjs/config/jest/web/jest-preset.d.ts +4 -0
  112. package/dist/cjs/config/jest/web/jest-preset.d.ts.map +1 -0
  113. package/dist/cjs/config/jest/web/jest-preset.js +224 -0
  114. package/dist/cjs/config/jest/web/jest.setup.d.ts +7 -0
  115. package/dist/cjs/config/jest/web/jest.setup.d.ts.map +1 -0
  116. package/dist/cjs/config/jest/web/jest.setup.js +21 -0
  117. package/dist/cjs/config/jest/web/resolver.d.ts +4 -0
  118. package/dist/cjs/config/jest/web/resolver.d.ts.map +1 -0
  119. package/dist/cjs/config/jest/web/resolver.js +30 -0
  120. package/dist/cjs/config/jest/web/webBabelConfig.d.ts +10 -0
  121. package/dist/cjs/config/jest/web/webBabelConfig.d.ts.map +1 -0
  122. package/dist/cjs/config/jest/web/webBabelConfig.js +48 -0
  123. package/dist/cjs/package.json +1 -0
  124. package/dist/cjs/web/MockParamsProvider.d.ts +7 -0
  125. package/dist/cjs/web/MockParamsProvider.d.ts.map +1 -0
  126. package/dist/cjs/web/MockParamsProvider.js +44 -0
  127. package/dist/cjs/web/MockProviders.d.ts +5 -0
  128. package/dist/cjs/web/MockProviders.d.ts.map +1 -0
  129. package/dist/cjs/web/MockProviders.js +66 -0
  130. package/dist/cjs/web/MockRouter.d.ts +11 -0
  131. package/dist/cjs/web/MockRouter.d.ts.map +1 -0
  132. package/dist/cjs/web/MockRouter.js +48 -0
  133. package/dist/cjs/web/customRender.d.ts +6 -0
  134. package/dist/cjs/web/customRender.d.ts.map +1 -0
  135. package/dist/cjs/web/customRender.js +54 -0
  136. package/dist/cjs/web/fileMock.d.ts +10 -0
  137. package/dist/cjs/web/fileMock.d.ts.map +1 -0
  138. package/dist/cjs/web/fileMock.js +24 -0
  139. package/dist/cjs/web/findCellMocks.d.ts +2 -0
  140. package/dist/cjs/web/findCellMocks.d.ts.map +1 -0
  141. package/dist/cjs/web/findCellMocks.js +45 -0
  142. package/dist/cjs/web/globRoutesImporter.d.ts +13 -0
  143. package/dist/cjs/web/globRoutesImporter.d.ts.map +1 -0
  144. package/dist/cjs/web/globRoutesImporter.js +46 -0
  145. package/dist/cjs/web/global.d.ts +6 -0
  146. package/dist/cjs/web/global.d.ts.map +1 -0
  147. package/dist/cjs/web/global.js +1 -0
  148. package/dist/cjs/web/index.d.ts +6 -0
  149. package/dist/cjs/web/index.d.ts.map +1 -0
  150. package/dist/cjs/web/index.js +41 -0
  151. package/dist/cjs/web/mockAuth.d.ts +29 -0
  152. package/dist/cjs/web/mockAuth.d.ts.map +1 -0
  153. package/dist/cjs/web/mockAuth.js +89 -0
  154. package/dist/cjs/web/mockRequests.d.ts +72 -0
  155. package/dist/cjs/web/mockRequests.d.ts.map +1 -0
  156. package/dist/cjs/web/mockRequests.js +210 -0
  157. package/dist/cjs/web/vitest/index.js +37 -0
  158. package/dist/cjs/web/vitest/vite-plugin-auto-import.js +60 -0
  159. package/dist/cjs/web/vitest/vite-plugin-cedar-vitest-web-config.js +51 -0
  160. package/dist/cjs/web/vitest/vite-plugin-cedarjs-router-import-transform.js +42 -0
  161. package/dist/cjs/web/vitest/vite-plugin-create-auth-import-transform.js +43 -0
  162. package/dist/cjs/web/vitest/vitest-web.setup.js +19 -0
  163. package/dist/config/jest/api/RedwoodApiJestEnv.d.ts +11 -0
  164. package/dist/config/jest/api/RedwoodApiJestEnv.d.ts.map +1 -0
  165. package/dist/config/jest/api/RedwoodApiJestEnv.js +28 -0
  166. package/dist/config/jest/api/apiBabelConfig.d.ts +5 -0
  167. package/dist/config/jest/api/apiBabelConfig.d.ts.map +1 -0
  168. package/dist/config/jest/api/apiBabelConfig.js +18 -0
  169. package/dist/config/jest/api/globalSetup.d.ts +3 -0
  170. package/dist/config/jest/api/globalSetup.d.ts.map +1 -0
  171. package/dist/config/jest/api/globalSetup.js +36 -0
  172. package/dist/config/jest/api/index.d.ts +3 -0
  173. package/dist/config/jest/api/index.d.ts.map +1 -0
  174. package/dist/config/jest/api/index.js +15 -0
  175. package/dist/config/jest/api/jest-preset.d.ts +4 -0
  176. package/dist/config/jest/api/jest-preset.d.ts.map +1 -0
  177. package/dist/config/jest/api/jest-preset.js +110 -0
  178. package/dist/config/jest/api/jest.setup.d.ts +2 -0
  179. package/dist/config/jest/api/jest.setup.d.ts.map +1 -0
  180. package/dist/config/jest/api/jest.setup.js +244 -0
  181. package/dist/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts +11 -0
  182. package/dist/config/jest/babelPlugins/babel-plugin-redwood-cell.d.ts.map +1 -0
  183. package/dist/config/jest/babelPlugins/babel-plugin-redwood-cell.js +102 -0
  184. package/dist/config/jest/jest-serial-runner.d.ts +8 -0
  185. package/dist/config/jest/jest-serial-runner.d.ts.map +1 -0
  186. package/dist/config/jest/jest-serial-runner.js +27 -0
  187. package/dist/config/jest/web/RedwoodWebJestEnv.d.ts +6 -0
  188. package/dist/config/jest/web/RedwoodWebJestEnv.d.ts.map +1 -0
  189. package/dist/config/jest/web/RedwoodWebJestEnv.js +13 -0
  190. package/dist/config/jest/web/index.d.ts +3 -0
  191. package/dist/config/jest/web/index.d.ts.map +1 -0
  192. package/dist/config/jest/web/index.js +15 -0
  193. package/dist/config/jest/web/jest-fixed-jsdom.d.js +0 -0
  194. package/dist/config/jest/web/jest-preset.d.ts +4 -0
  195. package/dist/config/jest/web/jest-preset.d.ts.map +1 -0
  196. package/dist/config/jest/web/jest-preset.js +194 -0
  197. package/dist/config/jest/web/jest.setup.d.ts +7 -0
  198. package/dist/config/jest/web/jest.setup.d.ts.map +1 -0
  199. package/dist/config/jest/web/jest.setup.js +27 -0
  200. package/dist/config/jest/web/resolver.d.ts +4 -0
  201. package/dist/config/jest/web/resolver.d.ts.map +1 -0
  202. package/dist/config/jest/web/resolver.js +42 -0
  203. package/dist/config/jest/web/webBabelConfig.d.ts +10 -0
  204. package/dist/config/jest/web/webBabelConfig.d.ts.map +1 -0
  205. package/dist/config/jest/web/webBabelConfig.js +18 -0
  206. package/dist/web/MockParamsProvider.d.ts.map +1 -1
  207. package/dist/web/MockParamsProvider.js +1 -10
  208. package/dist/web/MockRouter.d.ts.map +1 -1
  209. package/dist/web/fileMock.d.ts +10 -0
  210. package/dist/web/fileMock.d.ts.map +1 -0
  211. package/dist/web/fileMock.js +4 -0
  212. package/dist/web/mockRequests.d.ts +0 -14
  213. package/dist/web/mockRequests.d.ts.map +1 -1
  214. package/dist/web/mockRequests.js +0 -8
  215. package/package.json +95 -22
  216. package/dist/api/vitest/teardown.d.ts +0 -18
  217. package/dist/api/vitest/teardown.d.ts.map +0 -1
  218. package/dist/api/vitest/teardown.js +0 -43
@@ -0,0 +1,11 @@
1
+ import type { EnvironmentContext, JestEnvironmentConfig } from '@jest/environment';
2
+ import { TestEnvironment } from 'jest-environment-node';
3
+ declare class RedwoodApiJestEnvironment extends TestEnvironment {
4
+ private testPath;
5
+ constructor(config: JestEnvironmentConfig, context: EnvironmentContext);
6
+ setup(): Promise<void>;
7
+ teardown(): Promise<void>;
8
+ getVmContext(): import("vm").Context | null;
9
+ }
10
+ export default RedwoodApiJestEnvironment;
11
+ //# sourceMappingURL=RedwoodApiJestEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedwoodApiJestEnv.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/RedwoodApiJestEnv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,cAAM,yBAA0B,SAAQ,eAAe;IACrD,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB;IAKhE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,YAAY;CAUb;AAED,eAAe,yBAAyB,CAAA"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var RedwoodApiJestEnv_exports = {};
20
+ __export(RedwoodApiJestEnv_exports, {
21
+ default: () => RedwoodApiJestEnv_default
22
+ });
23
+ module.exports = __toCommonJS(RedwoodApiJestEnv_exports);
24
+ var import_jest_environment_node = require("jest-environment-node");
25
+ class RedwoodApiJestEnvironment extends import_jest_environment_node.TestEnvironment {
26
+ testPath;
27
+ constructor(config, context) {
28
+ super(config, context);
29
+ this.testPath = context.testPath;
30
+ }
31
+ async setup() {
32
+ await super.setup();
33
+ this.global.testPath = this.testPath;
34
+ }
35
+ async teardown() {
36
+ await super.teardown();
37
+ }
38
+ getVmContext() {
39
+ return super.getVmContext();
40
+ }
41
+ // async handleTestEvent(event, state) {
42
+ // if (event.name === 'test_start') {
43
+ // // Link to event docs:
44
+ // // https://github.com/facebook/jest/blob/master/packages/jest-types/src/Circus.ts
45
+ // }
46
+ // }
47
+ }
48
+ var RedwoodApiJestEnv_default = RedwoodApiJestEnvironment;
@@ -0,0 +1,5 @@
1
+ import { getApiSideDefaultBabelConfig } from '@cedarjs/babel-config';
2
+ type ConfigType = Omit<ReturnType<typeof getApiSideDefaultBabelConfig>, 'babelrc'>;
3
+ declare const config: ConfigType;
4
+ export default config;
5
+ //# sourceMappingURL=apiBabelConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiBabelConfig.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/apiBabelConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAG7B,MAAM,uBAAuB,CAAA;AAO9B,KAAK,UAAU,GAAG,IAAI,CACpB,UAAU,CAAC,OAAO,4BAA4B,CAAC,EAC/C,SAAS,CACV,CAAA;AAED,QAAA,MAAM,MAAM,EAAE,UAMb,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var apiBabelConfig_exports = {};
20
+ __export(apiBabelConfig_exports, {
21
+ default: () => apiBabelConfig_default
22
+ });
23
+ module.exports = __toCommonJS(apiBabelConfig_exports);
24
+ var import_babel_config = require("@cedarjs/babel-config");
25
+ const { babelrc: _b, ...defaultBabelConfig } = (0, import_babel_config.getApiSideDefaultBabelConfig)();
26
+ const config = {
27
+ ...defaultBabelConfig,
28
+ plugins: (0, import_babel_config.getApiSideBabelPlugins)(),
29
+ presets: (0, import_babel_config.getApiSideBabelPresets)({
30
+ presetEnv: true
31
+ // jest needs code transpiled
32
+ })
33
+ };
34
+ var apiBabelConfig_default = config;
@@ -0,0 +1,3 @@
1
+ import 'dotenv-defaults/config';
2
+ export default function (): Promise<void>;
3
+ //# sourceMappingURL=globalSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalSetup.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/globalSetup.ts"],"names":[],"mappings":"AAEA,OAAO,wBAAwB,CAAA;AAW/B,0CAqCC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var globalSetup_exports = {};
30
+ __export(globalSetup_exports, {
31
+ default: () => globalSetup_default
32
+ });
33
+ module.exports = __toCommonJS(globalSetup_exports);
34
+ var import_node_path = __toESM(require("node:path"), 1);
35
+ var import_config = require("dotenv-defaults/config");
36
+ var import_execa = __toESM(require("execa"), 1);
37
+ var import_project_config = require("@cedarjs/project-config");
38
+ var import_packageManager = require("@cedarjs/project-config/packageManager");
39
+ var import_checkTestDatabase = require("@cedarjs/testing/dist/cjs/api/checkTestDatabase.js");
40
+ async function globalSetup_default() {
41
+ if (process.env.SKIP_DB_PUSH === "1") {
42
+ return;
43
+ }
44
+ const cedarPaths = (0, import_project_config.getPaths)();
45
+ const defaultDb = `file:${import_node_path.default.join(cedarPaths.generated.base, "test.db")}`;
46
+ const usedFallback = !process.env.TEST_DATABASE_URL;
47
+ process.env.DATABASE_URL = process.env.TEST_DATABASE_URL || defaultDb;
48
+ await (0, import_checkTestDatabase.checkTestDatabaseUrlMatchesProvider)(
49
+ process.env.DATABASE_URL,
50
+ usedFallback
51
+ );
52
+ console.log(
53
+ `Setting up test database: ${(0, import_checkTestDatabase.redactDatabaseUrl)(process.env.DATABASE_URL)}`
54
+ );
55
+ const command = process.env.TEST_DATABASE_STRATEGY === "reset" ? ["prisma", "migrate", "reset", "--force"] : ["prisma", "db", "push", "--force-reset", "--accept-data-loss"];
56
+ const pm = (0, import_packageManager.getPackageManager)();
57
+ const pmExec = pm === "pnpm" ? pm : "npx";
58
+ import_execa.default.sync(pmExec, ["cedar", ...command], {
59
+ cwd: cedarPaths.api.base,
60
+ stdio: "inherit",
61
+ env: process.env
62
+ });
63
+ }
@@ -0,0 +1,3 @@
1
+ import * as jestPreset from './jest-preset.js';
2
+ export = jestPreset;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAK9C,SAAS,UAAU,CAAA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var jestPreset = __toESM(require("./jest-preset.js"), 1);
25
+ module.exports = jestPreset;
@@ -0,0 +1,4 @@
1
+ import type { Config } from 'jest';
2
+ declare const config: Config;
3
+ export default config;
4
+ //# sourceMappingURL=jest-preset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest-preset.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/jest-preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAkClC,QAAA,MAAM,MAAM,EAAE,MA0Fb,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var jest_preset_exports = {};
30
+ __export(jest_preset_exports, {
31
+ default: () => jest_preset_default
32
+ });
33
+ module.exports = __toCommonJS(jest_preset_exports);
34
+ var import_node_path = __toESM(require("node:path"), 1);
35
+ var import_babel_config = require("@cedarjs/babel-config");
36
+ var import_project_config = require("@cedarjs/project-config");
37
+ const rwjsPaths = (0, import_project_config.getPaths)();
38
+ const { babelrc } = (0, import_babel_config.getApiSideDefaultBabelConfig)();
39
+ function resolveSubpath(specifier) {
40
+ try {
41
+ return require.resolve(specifier, {
42
+ paths: [rwjsPaths.api.base, rwjsPaths.base]
43
+ });
44
+ } catch {
45
+ return void 0;
46
+ }
47
+ }
48
+ const testingApiPath = resolveSubpath("@cedarjs/testing/api");
49
+ const config = {
50
+ // To make sure other config option which depends on rootDir use
51
+ // correct path, for example, coverageDirectory
52
+ rootDir: rwjsPaths.base,
53
+ roots: [import_node_path.default.join(rwjsPaths.api.src)],
54
+ runner: import_node_path.default.join(__dirname, "../jest-serial-runner.js"),
55
+ testEnvironment: import_node_path.default.join(__dirname, "./RedwoodApiJestEnv.js"),
56
+ globals: {
57
+ __CEDARJS__TEST_IMPORTS: {
58
+ apiSrcPath: rwjsPaths.api.src,
59
+ tearDownCachePath: import_node_path.default.join(
60
+ rwjsPaths.generated.base,
61
+ "scenarioTeardown.json"
62
+ )
63
+ }
64
+ },
65
+ sandboxInjectedGlobals: ["__CEDARJS__TEST_IMPORTS"],
66
+ displayName: {
67
+ color: "redBright",
68
+ name: "api"
69
+ },
70
+ collectCoverageFrom: [
71
+ "**/*.{js,jsx,ts,tsx,mts,cts}",
72
+ "!**/node_modules/**",
73
+ "!**/dist/**"
74
+ ],
75
+ coverageDirectory: import_node_path.default.join(rwjsPaths.base, "coverage"),
76
+ watchPlugins: [
77
+ "jest-watch-typeahead/filename",
78
+ "jest-watch-typeahead/testname"
79
+ ],
80
+ // This runs once before all tests
81
+ globalSetup: import_node_path.default.join(__dirname, "./globalSetup.js"),
82
+ // Note this setup runs for each test file!
83
+ setupFilesAfterEnv: [import_node_path.default.join(__dirname, "./jest.setup.js")],
84
+ moduleNameMapper: {
85
+ "^api/(.*)$": import_node_path.default.join(rwjsPaths.base, "api/$1"),
86
+ "^src/(.*)$": import_node_path.default.join(rwjsPaths.api.src, "$1"),
87
+ // @NOTE: Import @cedarjs/testing in api tests, and it automatically remaps to the api side only
88
+ // This is to prevent web stuff leaking into api, and vice versa
89
+ ...testingApiPath ? { "^@cedarjs/testing$": testingApiPath } : {},
90
+ // Support for importing files with extensions (like you'd do in ESM projects)
91
+ "^(\\.{1,2}/.*)\\.js$": "$1"
92
+ },
93
+ transform: {
94
+ // `@cedarjs/context`, `@cedarjs/api`, `@cedarjs/graphql-server`, and
95
+ // `@cedarjs/storage` are ESM-only. Two things pull them in at the top
96
+ // level of a generated project's api-side test run: @cedarjs/testing's
97
+ // own api entry point (which virtually every test imports, for
98
+ // scenario/mock helpers — pulls in `@cedarjs/context` and
99
+ // `@cedarjs/graphql-server` via `directive.ts`, and
100
+ // `@cedarjs/api/webhooks` via `apiFunction.ts`), and the *user's own*
101
+ // generated code — the `cedar setup uploads` template imports
102
+ // `@cedarjs/storage`. Jest's CJS runtime can't parse the real ESM these
103
+ // now emit, so they need the same babel-jest carve-out the web preset
104
+ // already uses for ESM-only node_modules packages (see jest-preset.ts
105
+ // on the web side for the fuller explanation of why this is
106
+ // necessary).
107
+ "[/\\\\]node_modules[/\\\\]@cedarjs[/\\\\](context|api|graphql-server|storage)[/\\\\].+\\.js$": [
108
+ "babel-jest",
109
+ {
110
+ babelrc: false,
111
+ configFile: false,
112
+ presets: [
113
+ [require.resolve("@babel/preset-env"), { targets: { node: "20" } }]
114
+ ]
115
+ }
116
+ ],
117
+ "\\.[cm]?[jt]sx?$": [
118
+ "babel-jest",
119
+ // When jest runs tests in parallel, it serializes the config before passing down options to babel
120
+ // that's why these must be serializable. So ideally, we should just pass reference to a
121
+ // configFile or "extends" a config. But we need a few other option only at root level, so we'll pass
122
+ // here and remove those keys inside "extend"ed config.
123
+ {
124
+ babelrc,
125
+ // babelrc can not reside inside "extend"ed config, that's why we have it here
126
+ configFile: import_node_path.default.resolve(__dirname, "./apiBabelConfig.js")
127
+ }
128
+ ]
129
+ },
130
+ // Jest runs api tests as CommonJS, so the ESM-only packages it reaches have
131
+ // to be transformed. `picoquery` is one: `@cedarjs/api/runtime` imports it,
132
+ // and `@cedarjs/graphql-server` pulls that module in, so any test that
133
+ // imports the GraphQL server (directive tests do, through
134
+ // `@cedarjs/testing/api`) loads it.
135
+ transformIgnorePatterns: [
136
+ "[/\\\\]node_modules[/\\\\](?!@cedarjs[/\\\\]context[/\\\\])(?!@cedarjs[/\\\\]api[/\\\\])(?!@cedarjs[/\\\\]graphql-server[/\\\\])(?!@cedarjs[/\\\\]storage[/\\\\])(?!picoquery[/\\\\])"
137
+ ],
138
+ testPathIgnorePatterns: [".scenarios.[jt]s$"]
139
+ };
140
+ var jest_preset_default = config;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jest.setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/api/jest.setup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var import_node_fs = __toESM(require("node:fs"), 1);
25
+ var import_node_path = __toESM(require("node:path"), 1);
26
+ var import_scenario = require("@cedarjs/testing/dist/cjs/api/scenario.js");
27
+ const { apiSrcPath, tearDownCachePath } = global.__CEDARJS__TEST_IMPORTS;
28
+ global.defineScenario = import_scenario.defineScenario;
29
+ const mockContextStore = /* @__PURE__ */ new Map();
30
+ const mockContext = new Proxy(
31
+ {},
32
+ {
33
+ get: (_target, prop) => {
34
+ if (prop === "toJSON") {
35
+ return () => mockContextStore.get("context");
36
+ }
37
+ return mockContextStore.get("context")[prop];
38
+ },
39
+ set: (_target, prop, value) => {
40
+ const ctx = mockContextStore.get("context");
41
+ ctx[prop] = value;
42
+ return true;
43
+ }
44
+ }
45
+ );
46
+ global.mockCurrentUser = (currentUser) => {
47
+ mockContextStore.set("context", { currentUser });
48
+ };
49
+ const HANDLED_ERRORS = [1451, 1811, 23001, 23503];
50
+ const TEARDOWN_CACHE_PATH = tearDownCachePath;
51
+ const DEFAULT_SCENARIO = "standard";
52
+ let teardownOrder = [];
53
+ let originalTeardownOrder = [];
54
+ const deepCopy = (obj) => {
55
+ return JSON.parse(JSON.stringify(obj));
56
+ };
57
+ const isIdenticalArray = (a, b) => {
58
+ return JSON.stringify(a) === JSON.stringify(b);
59
+ };
60
+ const configureTeardown = async () => {
61
+ const { getDMMF } = require("@prisma/internals");
62
+ const { getPrismaSchemas } = require("@cedarjs/project-config");
63
+ const { schemas } = await getPrismaSchemas();
64
+ const schema = await getDMMF({ datamodel: schemas });
65
+ const schemaModels = schema.datamodel.models.map(
66
+ (m) => m.dbName || m.name
67
+ );
68
+ if (import_node_fs.default.existsSync(TEARDOWN_CACHE_PATH)) {
69
+ teardownOrder = JSON.parse(import_node_fs.default.readFileSync(TEARDOWN_CACHE_PATH).toString());
70
+ }
71
+ if (teardownOrder.length !== schemaModels.length) {
72
+ teardownOrder = schemaModels;
73
+ }
74
+ originalTeardownOrder = deepCopy(teardownOrder);
75
+ };
76
+ let quoteStyle;
77
+ const getQuoteStyle = async () => {
78
+ const { getConfig: getPrismaConfig } = require("@prisma/internals");
79
+ const { getPrismaSchemas } = require("@cedarjs/project-config");
80
+ const result = await getPrismaSchemas();
81
+ if (!quoteStyle) {
82
+ const config = await getPrismaConfig({ datamodel: result.schemas });
83
+ switch (config.datasources?.[0]?.provider) {
84
+ case "mysql":
85
+ quoteStyle = "`";
86
+ break;
87
+ default:
88
+ quoteStyle = '"';
89
+ }
90
+ }
91
+ return quoteStyle;
92
+ };
93
+ const getProjectDb = async () => {
94
+ const { db } = require(`${apiSrcPath}/lib/db`);
95
+ return db;
96
+ };
97
+ function buildScenario(itFunc, testPath) {
98
+ const scenarioFunc = (...args) => {
99
+ let scenarioName, testName, testFunc;
100
+ if (args.length === 3) {
101
+ ;
102
+ [scenarioName, testName, testFunc] = args;
103
+ } else if (args.length === 2) {
104
+ scenarioName = DEFAULT_SCENARIO;
105
+ [testName, testFunc] = args;
106
+ } else {
107
+ throw new Error("scenario() requires 2 or 3 arguments");
108
+ }
109
+ return itFunc(testName, async () => {
110
+ const { scenario } = await loadScenarios(testPath, scenarioName);
111
+ const scenarioData = await seedScenario(scenario);
112
+ try {
113
+ const result = await testFunc(scenarioData);
114
+ return result;
115
+ } finally {
116
+ if (wasDbUsed()) {
117
+ await teardown();
118
+ }
119
+ }
120
+ });
121
+ };
122
+ return Object.assign(scenarioFunc, { only: scenarioFunc });
123
+ }
124
+ function buildDescribeScenario(describeFunc, testPath) {
125
+ const describeScenarioFunc = (...args) => {
126
+ let scenarioName, describeBlockName, describeBlock;
127
+ if (args.length === 3) {
128
+ ;
129
+ [scenarioName, describeBlockName, describeBlock] = args;
130
+ } else if (args.length === 2) {
131
+ scenarioName = DEFAULT_SCENARIO;
132
+ [describeBlockName, describeBlock] = args;
133
+ } else {
134
+ throw new Error("describeScenario() requires 2 or 3 arguments");
135
+ }
136
+ return describeFunc(describeBlockName, () => {
137
+ let scenarioData;
138
+ beforeAll(async () => {
139
+ const { scenario } = await loadScenarios(testPath, scenarioName);
140
+ scenarioData = await seedScenario(scenario);
141
+ });
142
+ afterAll(async () => {
143
+ if (wasDbUsed()) {
144
+ await teardown();
145
+ }
146
+ });
147
+ const getScenario = () => scenarioData;
148
+ describeBlock(getScenario);
149
+ });
150
+ };
151
+ return Object.assign(describeScenarioFunc, { only: describeScenarioFunc });
152
+ }
153
+ const teardown = async () => {
154
+ const quoteStyle2 = await getQuoteStyle();
155
+ for (let i = 0; i < teardownOrder.length; i++) {
156
+ const modelName = teardownOrder[i];
157
+ if (!modelName) {
158
+ continue;
159
+ }
160
+ try {
161
+ const db = await getProjectDb();
162
+ await db.$executeRawUnsafe(
163
+ `DELETE FROM ${quoteStyle2}${modelName}${quoteStyle2}`
164
+ );
165
+ } catch (e) {
166
+ const message = isErrorWithMessage(e) ? e.message : "";
167
+ const match = message.match(/Code: `(\d+)`/);
168
+ if (match && HANDLED_ERRORS.includes(parseInt(match[1]))) {
169
+ teardownOrder.splice(i, 1);
170
+ teardownOrder.push(modelName);
171
+ i--;
172
+ } else {
173
+ throw e;
174
+ }
175
+ }
176
+ }
177
+ if (!isIdenticalArray(teardownOrder, originalTeardownOrder)) {
178
+ originalTeardownOrder = deepCopy(teardownOrder);
179
+ import_node_fs.default.writeFileSync(TEARDOWN_CACHE_PATH, JSON.stringify(teardownOrder));
180
+ }
181
+ };
182
+ const seedScenario = async (scenario) => {
183
+ if (scenario) {
184
+ const scenarios = {};
185
+ const db = await getProjectDb();
186
+ for (const [model, namedFixtures] of Object.entries(scenario)) {
187
+ scenarios[model] = {};
188
+ for (const [name, createArgs] of Object.entries(namedFixtures)) {
189
+ if (typeof createArgs === "function") {
190
+ scenarios[model][name] = await db[model].create(createArgs(scenarios));
191
+ } else {
192
+ scenarios[model][name] = await db[model].create(createArgs);
193
+ }
194
+ }
195
+ }
196
+ return scenarios;
197
+ } else {
198
+ return {};
199
+ }
200
+ };
201
+ global.scenario = buildScenario(global.it, global.testPath);
202
+ global.describeScenario = buildDescribeScenario(
203
+ global.describe,
204
+ global.testPath
205
+ );
206
+ const wasDbUsed = () => {
207
+ try {
208
+ const libDbPath = require.resolve(`${apiSrcPath}/lib/db`);
209
+ return Object.keys(require.cache).some((module2) => {
210
+ return module2 === libDbPath;
211
+ });
212
+ } catch {
213
+ return false;
214
+ }
215
+ };
216
+ jest.mock("@cedarjs/context", () => {
217
+ return {
218
+ context: mockContext,
219
+ setContext: (newContext) => {
220
+ mockContextStore.set("context", newContext);
221
+ }
222
+ };
223
+ });
224
+ beforeEach(() => {
225
+ mockContextStore.set("context", {});
226
+ });
227
+ beforeAll(async () => {
228
+ if (wasDbUsed()) {
229
+ await configureTeardown();
230
+ }
231
+ });
232
+ afterAll(async () => {
233
+ if (wasDbUsed()) {
234
+ const db = await getProjectDb();
235
+ db.$disconnect();
236
+ }
237
+ });
238
+ async function loadScenarios(testPath, scenarioName) {
239
+ const testFileDir = import_node_path.default.parse(testPath);
240
+ const testFileNameParts = testFileDir.name.split(".");
241
+ const testFilePath = `${testFileDir.dir}/${testFileNameParts.slice(0, testFileNameParts.length - 1).join(".")}.scenarios`;
242
+ let allScenarios;
243
+ let scenario;
244
+ try {
245
+ allScenarios = require(testFilePath);
246
+ } catch (e) {
247
+ if (isErrorWithCode(e) && e.code !== "MODULE_NOT_FOUND") {
248
+ throw new Error(`Failed to load scenario: ${e}`);
249
+ }
250
+ }
251
+ if (allScenarios) {
252
+ if (allScenarios[scenarioName]) {
253
+ scenario = allScenarios[scenarioName];
254
+ } else {
255
+ throw new Error(
256
+ `UndefinedScenario: There is no scenario named "${scenarioName}" in ${testFilePath}.{js,ts}`
257
+ );
258
+ }
259
+ }
260
+ return { scenario };
261
+ }
262
+ function isErrorWithCode(error) {
263
+ return !!error && typeof error === "object" && "code" in error && typeof error.code === "string";
264
+ }
265
+ function isErrorWithMessage(error) {
266
+ return !!error && typeof error === "object" && "message" in error && typeof error.message === "string";
267
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "cedarjs-jest-api-preset",
3
+ "version": "0.0.1",
4
+ "type": "commonjs",
5
+ "main": "index.js",
6
+ "license": "MIT",
7
+ "types": "./index.d.ts"
8
+ }
@@ -0,0 +1,11 @@
1
+ import type { PluginObj, PluginPass } from '@babel/core';
2
+ import type * as t from '@babel/types';
3
+ interface PluginState extends PluginPass {
4
+ exportNames: string[];
5
+ hasDefaultExport: boolean;
6
+ }
7
+ export default function ({ types, }: {
8
+ types: typeof t;
9
+ }): PluginObj<PluginState>;
10
+ export {};
11
+ //# sourceMappingURL=babel-plugin-redwood-cell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel-plugin-redwood-cell.d.ts","sourceRoot":"","sources":["../../../../../src/config/jest/babelPlugins/babel-plugin-redwood-cell.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AAsCtC,UAAU,WAAY,SAAQ,UAAU;IAKtC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,CAAC,OAAO,WAAW,EACvB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,OAAO,CAAC,CAAA;CAChB,GAAG,SAAS,CAAC,WAAW,CAAC,CAoHzB"}