@jterrazz/test 16.1.1 → 17.0.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 (304) hide show
  1. package/README.md +45 -171
  2. package/dist/browser/index.js +2 -2980
  3. package/dist/browser/services.js +2 -0
  4. package/dist/browser/stubs.js +2 -0
  5. package/dist/checker.d.ts +6 -1
  6. package/dist/checker.js +4534 -2628
  7. package/dist/config.d.ts +40 -0
  8. package/dist/config.js +309 -0
  9. package/dist/in-place.global-setup.d.ts +11 -0
  10. package/dist/in-place.global-setup.js +21 -0
  11. package/dist/index.d.ts +1653 -3004
  12. package/dist/index.js +5226 -3845
  13. package/dist/mobile-session.global-setup.d.ts +14 -0
  14. package/dist/mobile-session.global-setup.js +31 -0
  15. package/dist/oxlint.cjs +6069 -5634
  16. package/dist/oxlint.d.cts +43 -7212
  17. package/dist/oxlint.d.ts +43 -7212
  18. package/dist/oxlint.js +6127 -5693
  19. package/dist/route-coverage.global-setup.d.ts +42 -0
  20. package/dist/route-coverage.global-setup.js +2 -0
  21. package/dist/services.d.ts +3 -0
  22. package/dist/services.global-setup.d.ts +43 -0
  23. package/dist/services.global-setup.js +2 -0
  24. package/dist/services.js +597 -0
  25. package/dist/shared-appium.adapter.js +428 -0
  26. package/dist/shared-artifacts.js +32 -0
  27. package/dist/shared-chapter.js +7 -0
  28. package/dist/shared-container.port.d.ts +31 -0
  29. package/dist/shared-derived-projects.js +58 -0
  30. package/dist/shared-device.port.d.ts +189 -0
  31. package/dist/shared-exchange.js +447 -0
  32. package/dist/shared-in-place.js +172 -0
  33. package/dist/shared-index.browser.js +3191 -0
  34. package/dist/shared-index.services.d.ts +346 -0
  35. package/dist/shared-index.stubs.d.ts +287 -0
  36. package/dist/shared-json-shape.js +17 -0
  37. package/dist/shared-landmarks.js +71 -0
  38. package/dist/shared-ledger.js +68 -0
  39. package/dist/shared-literate-plugin.js +183 -0
  40. package/dist/shared-manifest.js +1321 -0
  41. package/dist/shared-pause.js +11 -0
  42. package/dist/shared-peer.js +88 -0
  43. package/dist/shared-playwright.adapter.js +330 -0
  44. package/dist/shared-process.adapter.js +74 -0
  45. package/dist/shared-refusal.js +35 -0
  46. package/dist/shared-resolve.js +24 -0
  47. package/dist/shared-route-coverage.global-setup.js +187 -0
  48. package/dist/shared-scenario-failure.js +198 -0
  49. package/dist/shared-serve.js +365 -0
  50. package/dist/shared-service-images.js +10 -0
  51. package/dist/shared-services.global-setup.js +179 -0
  52. package/dist/shared-session-ledger.js +301 -0
  53. package/dist/shared-setup-entry.js +12 -0
  54. package/dist/shared-source-scan.js +133 -0
  55. package/dist/shared-spec-document.js +365 -0
  56. package/dist/shared-specifications.js +26 -0
  57. package/dist/shared-stream-body.js +130 -0
  58. package/dist/shared-stub-server.js +190 -0
  59. package/dist/shared-temp-root.global-setup.js +80 -0
  60. package/dist/shared-test-baseline.js +26 -0
  61. package/dist/shared-test-section.js +58 -0
  62. package/dist/shared-testcontainers.adapter.js +203 -0
  63. package/dist/shared-tokens.js +55 -0
  64. package/dist/shared-yaml-document.js +119 -0
  65. package/dist/stubs.d.ts +2 -0
  66. package/dist/stubs.js +657 -0
  67. package/dist/temp-root.global-setup.d.ts +7 -0
  68. package/dist/temp-root.global-setup.js +2 -0
  69. package/dist/vitest.d.ts +97 -163
  70. package/dist/vitest.js +373 -525
  71. package/docs/README.md +82 -36
  72. package/docs/concepts/architecture.md +118 -0
  73. package/docs/concepts/conventions.md +333 -0
  74. package/docs/guides/api-specs.md +374 -0
  75. package/docs/guides/cli-specs.md +564 -0
  76. package/docs/guides/component-specs.md +252 -0
  77. package/docs/guides/develop.md +94 -0
  78. package/docs/guides/integration-specs.md +181 -0
  79. package/docs/guides/job-specs.md +180 -0
  80. package/docs/guides/lint-specs.md +174 -0
  81. package/docs/guides/mobile-specs.md +319 -0
  82. package/docs/guides/module-tests.md +149 -0
  83. package/docs/guides/release.md +43 -0
  84. package/docs/guides/spec-documents.md +189 -0
  85. package/docs/guides/website-specs.md +413 -0
  86. package/docs/reference/assertions.md +345 -0
  87. package/docs/reference/glossary.md +20 -0
  88. package/docs/reference/linting.md +483 -0
  89. package/docs/reference/services.md +236 -0
  90. package/docs/reference/stubs.md +498 -0
  91. package/docs/reference/time-and-doubles.md +137 -0
  92. package/docs/reference/tokens.md +258 -0
  93. package/docs/reference/visitor.md +221 -0
  94. package/docs/start/getting-started.md +187 -0
  95. package/docs/start/set-up-a-project.md +214 -0
  96. package/package.json +50 -30
  97. package/schema/spec.schema.json +43 -17
  98. package/dist/appium.adapter.js +0 -489
  99. package/dist/artifacts.js +0 -32
  100. package/dist/fixtures.js +0 -110
  101. package/dist/literate.js +0 -1747
  102. package/dist/match.js +0 -804
  103. package/dist/playwright.adapter.js +0 -438
  104. package/dist/server.js +0 -160
  105. package/dist/stream.js +0 -321
  106. package/dist/substring-warning.js +0 -282
  107. package/docs/01-architecture.md +0 -95
  108. package/docs/02-developing.md +0 -351
  109. package/docs/03-testing.md +0 -495
  110. package/docs/04-operating.md +0 -101
  111. package/docs/05-module-tests.md +0 -152
  112. package/docs/06-integration.md +0 -180
  113. package/docs/07-component.md +0 -246
  114. package/docs/08-website.md +0 -404
  115. package/docs/09-mobile.md +0 -270
  116. package/docs/10-api.md +0 -264
  117. package/docs/11-jobs.md +0 -157
  118. package/docs/12-cli.md +0 -677
  119. package/docs/13-elements.md +0 -248
  120. package/docs/14-assertions.md +0 -314
  121. package/docs/15-tokens.md +0 -253
  122. package/docs/16-contracts.md +0 -438
  123. package/docs/17-services.md +0 -188
  124. package/docs/18-conventions.md +0 -332
  125. package/docs/19-linting.md +0 -512
  126. package/docs/decisions/001-v9-conventions-on-three-channels.md +0 -50
  127. package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +0 -49
  128. package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +0 -84
  129. package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +0 -81
  130. package/docs/decisions/005-the-doubles-ladder-is-closed.md +0 -86
  131. package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +0 -245
  132. package/docs/decisions/007-compose-mode-leaves-the-package.md +0 -53
  133. package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +0 -75
  134. package/docs/decisions/_template.md +0 -22
  135. package/docs/reference/classes/Matcher.md +0 -120
  136. package/docs/reference/classes/ProcessHandle.md +0 -368
  137. package/docs/reference/functions/defineContract.md +0 -39
  138. package/docs/reference/functions/defineContracts.md +0 -36
  139. package/docs/reference/functions/disabled.md +0 -28
  140. package/docs/reference/functions/enabled.md +0 -20
  141. package/docs/reference/functions/focused.md +0 -26
  142. package/docs/reference/functions/mockOf.md +0 -79
  143. package/docs/reference/functions/postgres.md +0 -31
  144. package/docs/reference/functions/process.md +0 -33
  145. package/docs/reference/functions/redis.md +0 -28
  146. package/docs/reference/functions/required.md +0 -41
  147. package/docs/reference/functions/selected.md +0 -26
  148. package/docs/reference/functions/sqlite.md +0 -33
  149. package/docs/reference/functions/testId.md +0 -20
  150. package/docs/reference/functions/text.md +0 -40
  151. package/docs/reference/functions/valued.md +0 -28
  152. package/docs/reference/functions/waitUntil.md +0 -46
  153. package/docs/reference/functions/within.md +0 -29
  154. package/docs/reference/index.md +0 -196
  155. package/docs/reference/interfaces/BaseResult.md +0 -87
  156. package/docs/reference/interfaces/CallResult.md +0 -160
  157. package/docs/reference/interfaces/CaptureScope.md +0 -82
  158. package/docs/reference/interfaces/CliResult.md +0 -253
  159. package/docs/reference/interfaces/ContainerAccessor.md +0 -166
  160. package/docs/reference/interfaces/DirectoryAccessor.md +0 -33
  161. package/docs/reference/interfaces/FetchResult.md +0 -180
  162. package/docs/reference/interfaces/FilesystemAccessor.md +0 -46
  163. package/docs/reference/interfaces/HttpResult.md +0 -126
  164. package/docs/reference/interfaces/JsonAccessor.md +0 -46
  165. package/docs/reference/interfaces/PageResult.md +0 -356
  166. package/docs/reference/interfaces/RenderResult.md +0 -72
  167. package/docs/reference/interfaces/RenderedText.md +0 -110
  168. package/docs/reference/interfaces/ResponseAccessor.md +0 -47
  169. package/docs/reference/interfaces/ScreenResult.md +0 -128
  170. package/docs/reference/interfaces/TableAccessor.md +0 -26
  171. package/docs/reference/interfaces/TextAccessor.md +0 -96
  172. package/docs/reference/type-aliases/ApiHandle.md +0 -68
  173. package/docs/reference/type-aliases/ApiSpecification.md +0 -213
  174. package/docs/reference/type-aliases/ApiSpecificationOptions.md +0 -68
  175. package/docs/reference/type-aliases/BrowserConsoleMessage.md +0 -30
  176. package/docs/reference/type-aliases/BrowserLinkElement.md +0 -50
  177. package/docs/reference/type-aliases/BrowserMetaElement.md +0 -40
  178. package/docs/reference/type-aliases/BrowserOpenOptions.md +0 -87
  179. package/docs/reference/type-aliases/BrowserPage.md +0 -132
  180. package/docs/reference/type-aliases/BrowserPort.md +0 -51
  181. package/docs/reference/type-aliases/CliEnv.md +0 -11
  182. package/docs/reference/type-aliases/CliHandle.md +0 -80
  183. package/docs/reference/type-aliases/CliInput.md +0 -36
  184. package/docs/reference/type-aliases/CliOutput.md +0 -46
  185. package/docs/reference/type-aliases/CliPort.md +0 -58
  186. package/docs/reference/type-aliases/CliSpecification.md +0 -144
  187. package/docs/reference/type-aliases/CliSpecificationOptions.md +0 -134
  188. package/docs/reference/type-aliases/ComponentChain.md +0 -156
  189. package/docs/reference/type-aliases/ComponentScenario.md +0 -20
  190. package/docs/reference/type-aliases/ComponentUi.md +0 -47
  191. package/docs/reference/type-aliases/ComponentVisitor.md +0 -10
  192. package/docs/reference/type-aliases/ContainerPort.md +0 -113
  193. package/docs/reference/type-aliases/Contract.md +0 -68
  194. package/docs/reference/type-aliases/ContractInput.md +0 -13
  195. package/docs/reference/type-aliases/ContractRequest.md +0 -95
  196. package/docs/reference/type-aliases/ContractResponder.md +0 -23
  197. package/docs/reference/type-aliases/ContractResponse.md +0 -78
  198. package/docs/reference/type-aliases/ContractResponseValue.md +0 -13
  199. package/docs/reference/type-aliases/Contracts.md +0 -48
  200. package/docs/reference/type-aliases/DatabaseKeys.md +0 -16
  201. package/docs/reference/type-aliases/DatabasePort.md +0 -72
  202. package/docs/reference/type-aliases/DeviceOpenOptions.md +0 -46
  203. package/docs/reference/type-aliases/DevicePort.md +0 -51
  204. package/docs/reference/type-aliases/DeviceScreen.md +0 -32
  205. package/docs/reference/type-aliases/DeviceTimeouts.md +0 -39
  206. package/docs/reference/type-aliases/DockerSpecConfig.md +0 -43
  207. package/docs/reference/type-aliases/DomMount.md +0 -21
  208. package/docs/reference/type-aliases/ElementKind.md +0 -27
  209. package/docs/reference/type-aliases/ElementMatch.md +0 -74
  210. package/docs/reference/type-aliases/ElementOptions.md +0 -29
  211. package/docs/reference/type-aliases/ElementRef.md +0 -128
  212. package/docs/reference/type-aliases/ExecOptions.md +0 -37
  213. package/docs/reference/type-aliases/FileAccessor.md +0 -54
  214. package/docs/reference/type-aliases/HonoApp.md +0 -31
  215. package/docs/reference/type-aliases/HttpContractFilter.md +0 -49
  216. package/docs/reference/type-aliases/HttpResponseInit.md +0 -46
  217. package/docs/reference/type-aliases/HttpStreamInit.md +0 -58
  218. package/docs/reference/type-aliases/IntegrationHandle.md +0 -46
  219. package/docs/reference/type-aliases/IntegrationSpecification.md +0 -111
  220. package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +0 -42
  221. package/docs/reference/type-aliases/Intercept.md +0 -19
  222. package/docs/reference/type-aliases/InterceptOptions.md +0 -28
  223. package/docs/reference/type-aliases/InterceptScope.md +0 -11
  224. package/docs/reference/type-aliases/IsolationStrategy.md +0 -75
  225. package/docs/reference/type-aliases/JobHandle.md +0 -34
  226. package/docs/reference/type-aliases/JobsHandle.md +0 -57
  227. package/docs/reference/type-aliases/JobsResult.md +0 -16
  228. package/docs/reference/type-aliases/JobsSpecification.md +0 -94
  229. package/docs/reference/type-aliases/JobsSpecificationOptions.md +0 -56
  230. package/docs/reference/type-aliases/LandmarkKind.md +0 -20
  231. package/docs/reference/type-aliases/LiterateRunFlags.md +0 -27
  232. package/docs/reference/type-aliases/LiterateServeRegistration.md +0 -70
  233. package/docs/reference/type-aliases/MatchFixtureOptions.md +0 -27
  234. package/docs/reference/type-aliases/MatchableRequest.md +0 -61
  235. package/docs/reference/type-aliases/MatcherKind.md +0 -34
  236. package/docs/reference/type-aliases/MobileBackendOptions.md +0 -28
  237. package/docs/reference/type-aliases/MobileElementKind.md +0 -14
  238. package/docs/reference/type-aliases/MobileElementMatch.md +0 -60
  239. package/docs/reference/type-aliases/MobileElementRef.md +0 -20
  240. package/docs/reference/type-aliases/MobileHandle.md +0 -65
  241. package/docs/reference/type-aliases/MobileScenario.md +0 -20
  242. package/docs/reference/type-aliases/MobileSpecification.md +0 -51
  243. package/docs/reference/type-aliases/MobileSpecificationOptions.md +0 -126
  244. package/docs/reference/type-aliases/MobileVisitor.md +0 -81
  245. package/docs/reference/type-aliases/MockOfOptions.md +0 -26
  246. package/docs/reference/type-aliases/MockPort.md +0 -10
  247. package/docs/reference/type-aliases/PinnedClock.md +0 -10
  248. package/docs/reference/type-aliases/PostgresOptions.md +0 -32
  249. package/docs/reference/type-aliases/ProcessOptions.md +0 -112
  250. package/docs/reference/type-aliases/RedisOptions.md +0 -20
  251. package/docs/reference/type-aliases/RenderSubject.md +0 -12
  252. package/docs/reference/type-aliases/ScreenNode.md +0 -67
  253. package/docs/reference/type-aliases/ServerPort.md +0 -36
  254. package/docs/reference/type-aliases/ServerResponse.md +0 -46
  255. package/docs/reference/type-aliases/ServerSpec.md +0 -21
  256. package/docs/reference/type-aliases/ServiceHandle.md +0 -216
  257. package/docs/reference/type-aliases/ServiceRecord.md +0 -12
  258. package/docs/reference/type-aliases/SpecDocument.md +0 -84
  259. package/docs/reference/type-aliases/SpecEnvToken.md +0 -21
  260. package/docs/reference/type-aliases/SpecFileAssertion.md +0 -27
  261. package/docs/reference/type-aliases/SpecFixture.md +0 -30
  262. package/docs/reference/type-aliases/SpecKind.md +0 -8
  263. package/docs/reference/type-aliases/SpecRun.md +0 -108
  264. package/docs/reference/type-aliases/SpecServeEntry.md +0 -40
  265. package/docs/reference/type-aliases/SpecStream.md +0 -32
  266. package/docs/reference/type-aliases/SpecificationConfig.md +0 -290
  267. package/docs/reference/type-aliases/SqliteOptions.md +0 -36
  268. package/docs/reference/type-aliases/SseEvent.md +0 -58
  269. package/docs/reference/type-aliases/StreamBody.md +0 -61
  270. package/docs/reference/type-aliases/TextFilter.md +0 -22
  271. package/docs/reference/type-aliases/VisitScenario.md +0 -20
  272. package/docs/reference/type-aliases/Visitor.md +0 -215
  273. package/docs/reference/type-aliases/WaitUntilOptions.md +0 -46
  274. package/docs/reference/type-aliases/WebsiteBackendOptions.md +0 -37
  275. package/docs/reference/type-aliases/WebsiteHandle.md +0 -51
  276. package/docs/reference/type-aliases/WebsiteSpecification.md +0 -118
  277. package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +0 -40
  278. package/docs/reference/variables/anthropic.md +0 -19
  279. package/docs/reference/variables/banner.md +0 -10
  280. package/docs/reference/variables/button.md +0 -10
  281. package/docs/reference/variables/clock.md +0 -16
  282. package/docs/reference/variables/complementary.md +0 -10
  283. package/docs/reference/variables/component.md +0 -10
  284. package/docs/reference/variables/content.md +0 -10
  285. package/docs/reference/variables/contentinfo.md +0 -10
  286. package/docs/reference/variables/dialog.md +0 -10
  287. package/docs/reference/variables/field.md +0 -10
  288. package/docs/reference/variables/form.md +0 -10
  289. package/docs/reference/variables/heading.md +0 -10
  290. package/docs/reference/variables/http.md +0 -40
  291. package/docs/reference/variables/intercept.md +0 -11
  292. package/docs/reference/variables/link.md +0 -10
  293. package/docs/reference/variables/listitem.md +0 -10
  294. package/docs/reference/variables/main.md +0 -10
  295. package/docs/reference/variables/match.md +0 -8
  296. package/docs/reference/variables/navigation.md +0 -10
  297. package/docs/reference/variables/openai.md +0 -21
  298. package/docs/reference/variables/option.md +0 -17
  299. package/docs/reference/variables/region.md +0 -10
  300. package/docs/reference/variables/row.md +0 -10
  301. package/docs/reference/variables/search.md +0 -10
  302. package/docs/reference/variables/specification.md +0 -8
  303. package/docs/reference/variables/status.md +0 -10
  304. package/docs/reference/variables/table.md +0 -10
@@ -1,144 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: CliSpecification\<DatabaseKey\>
3
-
4
- ```ts
5
- type CliSpecification<DatabaseKey> = object;
6
- ```
7
-
8
- Defined in: [src/model/chain/builder.ts:264](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L264)
9
-
10
- The `cli` facet — command chain entry handed out by `specification.cli()`.
11
- Setup methods chain; `.exec()` is the single terminal action (CONVENTIONS
12
- B2) — `{ waitFor?, timeout? }` covers long-running processes.
13
-
14
- ## Type Parameters
15
-
16
- | Type Parameter | Default type |
17
- | ------ | ------ |
18
- | `DatabaseKey` *extends* `string` | `string` |
19
-
20
- ## Properties
21
-
22
- ### env
23
-
24
- ```ts
25
- env: (env) => CliSpecification<DatabaseKey>;
26
- ```
27
-
28
- Defined in: [src/model/chain/builder.ts:266](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L266)
29
-
30
- Set environment variables on the child process. `$WORKDIR` expands; `null` unsets.
31
-
32
- #### Parameters
33
-
34
- | Parameter | Type |
35
- | ------ | ------ |
36
- | `env` | [`CliEnv`](CliEnv.md) |
37
-
38
- #### Returns
39
-
40
- `CliSpecification`\<`DatabaseKey`\>
41
-
42
- ***
43
-
44
- ### exec
45
-
46
- ```ts
47
- exec: (args?, options?) => Promise<CliResult>;
48
- ```
49
-
50
- Defined in: [src/model/chain/builder.ts:285](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L285)
51
-
52
- Execute the command (or sequence of commands) and resolve with the
53
- result. Called with no arguments (`cli.exec()`), the binary runs bare —
54
- no CLI arguments. With `{ waitFor, timeout }`, the process is
55
- long-running: it resolves when the pattern appears and is killed at the
56
- timeout.
57
-
58
- #### Parameters
59
-
60
- | Parameter | Type |
61
- | ------ | ------ |
62
- | `args?` | `string` \| `string`[] |
63
- | `options?` | [`ExecOptions`](ExecOptions.md) |
64
-
65
- #### Returns
66
-
67
- `Promise`\<[`CliResult`](../interfaces/CliResult.md)\>
68
-
69
- ***
70
-
71
- ### fixture
72
-
73
- ```ts
74
- fixture: (path) => CliSpecification<DatabaseKey>;
75
- ```
76
-
77
- Defined in: [src/model/chain/builder.ts:274](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L274)
78
-
79
- Copy a fixture into the working directory before execution. The path is
80
- feature-local (`<test-dir>/fixtures/<path>`) or, with a `$FIXTURES/`
81
- prefix, from the shared pool at `<specs-root>/fixtures/`. A trailing
82
- slash spreads a directory's contents into the cwd; without one a
83
- directory (or file) is copied under its own name. Chained calls layer.
84
-
85
- #### Parameters
86
-
87
- | Parameter | Type |
88
- | ------ | ------ |
89
- | `path` | `string` |
90
-
91
- #### Returns
92
-
93
- `CliSpecification`\<`DatabaseKey`\>
94
-
95
- ***
96
-
97
- ### run
98
-
99
- ```ts
100
- run: (file, options?) => Promise<CliResult>;
101
- ```
102
-
103
- Defined in: [src/model/chain/builder.ts:293](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L293)
104
-
105
- Run a `<case>.spec.yaml` document — its ground (fixtures, env sets,
106
- servers) and every run, each asserted — and resolve with the LAST run's
107
- result, so a `.test.ts` can add an assertion the document cannot express
108
- (a directory golden, a grep). The path is relative to the test file's own
109
- directory, where the document lives.
110
-
111
- #### Parameters
112
-
113
- | Parameter | Type |
114
- | ------ | ------ |
115
- | `file` | `string` |
116
- | `options?` | [`LiterateRunFlags`](LiterateRunFlags.md) |
117
-
118
- #### Returns
119
-
120
- `Promise`\<[`CliResult`](../interfaces/CliResult.md)\>
121
-
122
- ***
123
-
124
- ### seed
125
-
126
- ```ts
127
- seed: (file, options?) => CliSpecification<DatabaseKey>;
128
- ```
129
-
130
- Defined in: [src/model/chain/builder.ts:276](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L276)
131
-
132
- Queue a SQL seed file from `_seeds/` to run against a database before the action.
133
-
134
- #### Parameters
135
-
136
- | Parameter | Type |
137
- | ------ | ------ |
138
- | `file` | `string` |
139
- | `options?` | \{ `database?`: `DatabaseKey`; \} |
140
- | `options.database?` | `DatabaseKey` |
141
-
142
- #### Returns
143
-
144
- `CliSpecification`\<`DatabaseKey`\>
@@ -1,134 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: CliSpecificationOptions\<Services\>
3
-
4
- ```ts
5
- type CliSpecificationOptions<Services> = object;
6
- ```
7
-
8
- Defined in: [src/facets/cli/cli.specification.ts:23](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L23)
9
-
10
- Options for startCli \| specification.cli.
11
-
12
- ## Type Parameters
13
-
14
- | Type Parameter | Default type |
15
- | ------ | ------ |
16
- | `Services` *extends* [`ServiceRecord`](ServiceRecord.md) | [`ServiceRecord`](ServiceRecord.md) |
17
-
18
- ## Properties
19
-
20
- ### defaults?
21
-
22
- ```ts
23
- optional defaults?: CliEnv;
24
- ```
25
-
26
- Defined in: [src/facets/cli/cli.specification.ts:39](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L39)
27
-
28
- Environment applied to EVERY run of this binary — the variables the
29
- product needs to be deterministic at all (`TZ`, `NO_COLOR`, `LANG`,
30
- a config home under the spec's own workdir). Stated once per app
31
- instead of repeated on every chain and in every document; a chained
32
- `.env()` and a document's `env:` both win over it.
33
-
34
- ***
35
-
36
- ### docker?
37
-
38
- ```ts
39
- optional docker?: DockerSpecConfig;
40
- ```
41
-
42
- Defined in: [src/facets/cli/cli.specification.ts:31](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L31)
43
-
44
- Opt-in Docker awareness. When set, every spec generates a unique
45
- test-run id, injects it into the child process env under `envVar`,
46
- and exposes `.container(name)` accessors on the result that lazily
47
- query Docker. Always declare results with `await using` so leaked
48
- containers get force-removed at scope exit (CONVENTIONS B5).
49
-
50
- ***
51
-
52
- ### env?
53
-
54
- ```ts
55
- optional env?: Record<string, CliEnv>;
56
- ```
57
-
58
- Defined in: [src/facets/cli/cli.specification.ts:46](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L46)
59
-
60
- Named environment SETS for `<case>.spec.yaml` documents. An `env:` entry
61
- `frozen` applies the whole `frozen` record; `$WORKDIR` expands and `null`
62
- unsets, exactly as in `.env()`. Declared once per app so a document
63
- states WHICH ground it stands on, not how to build it.
64
-
65
- ***
66
-
67
- ### root?
68
-
69
- ```ts
70
- optional root?: string;
71
- ```
72
-
73
- Defined in: [src/facets/cli/cli.specification.ts:61](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L61)
74
-
75
- Project-root override (CONVENTIONS A9) — the single meaning of `root`:
76
- it anchors the local-bin resolution of the tested binary, in place of
77
- the walk to the nearest `package.json`. It is NOT a fixtures root;
78
- `.fixture()` resolves feature-local or `$FIXTURES/` paths on its own.
79
-
80
- ***
81
-
82
- ### serve?
83
-
84
- ```ts
85
- optional serve?: Record<string, LiterateServeRegistration>;
86
- ```
87
-
88
- Defined in: [src/facets/cli/cli.specification.ts:54](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L54)
89
-
90
- Named servers a `<case>.spec.yaml` document may start (`serve: [mcp]`, or
91
- `- mcp: { KEY: value }` to add env to that one). Each entry names the
92
- shell `command`, the `ready` regex whose capture group holds the port the
93
- server announces, the `url(port)` builder, and the `env` variable that
94
- URL is bound to in every run's child.
95
-
96
- ***
97
-
98
- ### services?
99
-
100
- ```ts
101
- optional services?: Services;
102
- ```
103
-
104
- Defined in: [src/facets/cli/cli.specification.ts:68](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L68)
105
-
106
- Named infrastructure record started via testcontainers. Connection
107
- URLs are injected automatically into the child env: `<KEY>_URL` per
108
- service, plus `DATABASE_URL` / `REDIS_URL` when unambiguous
109
- (CONVENTIONS B6). `.env()` overrides.
110
-
111
- ***
112
-
113
- ### transform?
114
-
115
- ```ts
116
- optional transform?: (text) => string;
117
- ```
118
-
119
- Defined in: [src/facets/cli/cli.specification.ts:75](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L75)
120
-
121
- Escape hatch: normaliser applied to result.stdout / result.stderr
122
- before every comparison, AFTER the default ANSI strip (CONVENTIONS
123
- D6). Does NOT mutate the raw `.text` accessor. Prefer `{{token}}`
124
- placeholders in fixtures.
125
-
126
- #### Parameters
127
-
128
- | Parameter | Type |
129
- | ------ | ------ |
130
- | `text` | `string` |
131
-
132
- #### Returns
133
-
134
- `string`
@@ -1,156 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ComponentChain
3
-
4
- ```ts
5
- type ComponentChain = object;
6
- ```
7
-
8
- Defined in: [src/facets/component/component.types.ts:37](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L37)
9
-
10
- The chain. Every setup returns a new one, so the handle a spec imports never
11
- carries the previous test's contracts, wrapper or clock.
12
-
13
- ## Properties
14
-
15
- ### clock
16
-
17
- ```ts
18
- clock: (iso) => ComponentChain;
19
- ```
20
-
21
- Defined in: [src/facets/component/component.types.ts:39](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L39)
22
-
23
- Pin the page's `Date` for this render — the clock the component reads.
24
-
25
- #### Parameters
26
-
27
- | Parameter | Type |
28
- | ------ | ------ |
29
- | `iso` | `string` |
30
-
31
- #### Returns
32
-
33
- `ComponentChain`
34
-
35
- ***
36
-
37
- ### intercept
38
-
39
- ```ts
40
- intercept: {
41
- (contracts): ComponentChain;
42
- (request, response): ComponentChain;
43
- };
44
- ```
45
-
46
- Defined in: [src/facets/component/component.types.ts:45](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L45)
47
-
48
- Declare what the network replies — the same contracts, the same queue
49
- and the same strictness as every other facet (D7), served by msw's
50
- worker instead of its node interceptor.
51
-
52
- #### Call Signature
53
-
54
- ```ts
55
- (contracts): ComponentChain;
56
- ```
57
-
58
- ##### Parameters
59
-
60
- | Parameter | Type |
61
- | ------ | ------ |
62
- | `contracts` | [`ContractInput`](ContractInput.md) |
63
-
64
- ##### Returns
65
-
66
- `ComponentChain`
67
-
68
- #### Call Signature
69
-
70
- ```ts
71
- (request, response): ComponentChain;
72
- ```
73
-
74
- ##### Parameters
75
-
76
- | Parameter | Type |
77
- | ------ | ------ |
78
- | `request` | [`ContractRequest`](ContractRequest.md) |
79
- | `response` | \| [`ContractResponse`](ContractResponse.md) \| [`ContractResponder`](ContractResponder.md) |
80
-
81
- ##### Returns
82
-
83
- `ComponentChain`
84
-
85
- ***
86
-
87
- ### render
88
-
89
- ```ts
90
- render: (subject, scenario?) => Promise<RenderResult>;
91
- ```
92
-
93
- Defined in: [src/facets/component/component.types.ts:50](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L50)
94
-
95
- Mount the subject, run the scenario, and capture what the page shows.
96
-
97
- #### Parameters
98
-
99
- | Parameter | Type |
100
- | ------ | ------ |
101
- | `subject` | [`RenderSubject`](RenderSubject.md) |
102
- | `scenario?` | [`ComponentScenario`](ComponentScenario.md) |
103
-
104
- #### Returns
105
-
106
- `Promise`\<[`RenderResult`](../interfaces/RenderResult.md)\>
107
-
108
- ***
109
-
110
- ### viewport
111
-
112
- ```ts
113
- viewport: (size) => ComponentChain;
114
- ```
115
-
116
- Defined in: [src/facets/component/component.types.ts:56](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L56)
117
-
118
- The page size THIS render gets — the Given of a component that reads
119
- `matchMedia` or a container query. The project's size is restored when
120
- the test ends, so a narrow render never leaks into the next one.
121
-
122
- #### Parameters
123
-
124
- | Parameter | Type |
125
- | ------ | ------ |
126
- | `size` | \{ `height`: `number`; `width`: `number`; \} |
127
- | `size.height` | `number` |
128
- | `size.width` | `number` |
129
-
130
- #### Returns
131
-
132
- `ComponentChain`
133
-
134
- ***
135
-
136
- ### wrap
137
-
138
- ```ts
139
- wrap: (wrapper) => ComponentChain;
140
- ```
141
-
142
- Defined in: [src/facets/component/component.types.ts:62](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L62)
143
-
144
- Wrap every render of this chain — the test-local Given a router stub or
145
- a `<StrictMode>` is. The project's own `wrap` stays outermost: it is the
146
- app's frame, and one test does not get to sit outside it.
147
-
148
- #### Parameters
149
-
150
- | Parameter | Type |
151
- | ------ | ------ |
152
- | `wrapper` | (`ui`) => [`ComponentUi`](ComponentUi.md) |
153
-
154
- #### Returns
155
-
156
- `ComponentChain`
@@ -1,20 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ComponentScenario
3
-
4
- ```ts
5
- type ComponentScenario = (visitor) => Promise<void>;
6
- ```
7
-
8
- Defined in: [src/facets/component/component.types.ts:24](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L24)
9
-
10
- The behaviour of a render; assertions stay in the Then, on the result (W1).
11
-
12
- ## Parameters
13
-
14
- | Parameter | Type |
15
- | ------ | ------ |
16
- | `visitor` | [`ComponentVisitor`](ComponentVisitor.md) |
17
-
18
- ## Returns
19
-
20
- `Promise`\<`void`\>
@@ -1,47 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ComponentUi
3
-
4
- ```ts
5
- type ComponentUi =
6
- | ReactElement
7
- | string
8
- | number
9
- | bigint
10
- | Iterable<ReactNode>
11
- | ReactPortal
12
- | boolean
13
- | null
14
- | undefined
15
- | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES[keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES]
16
- | Promise<AwaitedReactNode>;
17
- ```
18
-
19
- Defined in: node\_modules/@types/react/index.d.ts:436
20
-
21
- Represents all of the things React can render.
22
-
23
- Where ReactElement only represents JSX, `ReactNode` represents everything that can be rendered.
24
-
25
- ## See
26
-
27
- [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/docs/reference/reactnode/)
28
-
29
- ## Examples
30
-
31
- ```tsx
32
- // Typing children
33
- type Props = { children: ReactNode }
34
-
35
- const Component = ({ children }: Props) => <div>{children}</div>
36
-
37
- <Component>hello</Component>
38
- ```
39
-
40
- ```tsx
41
- // Typing a custom element
42
- type Props = { customElement: ReactNode }
43
-
44
- const Component = ({ customElement }: Props) => <div>{customElement}</div>
45
-
46
- <Component customElement={<div>hello</div>} />
47
- ```
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ComponentVisitor
3
-
4
- ```ts
5
- type ComponentVisitor = ReturnType<typeof componentVerbs>;
6
- ```
7
-
8
- Defined in: [src/facets/component/component.types.ts:21](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L21)
9
-
10
- The interaction vocabulary a render scenario is handed — the When.
@@ -1,113 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ContainerPort
3
-
4
- ```ts
5
- type ContainerPort = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/container.port.ts:5](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L5)
9
-
10
- Abstract container interface.
11
- Represents a running service (database, cache, etc.)
12
-
13
- ## Properties
14
-
15
- ### getConnectionString
16
-
17
- ```ts
18
- getConnectionString: () => string;
19
- ```
20
-
21
- Defined in: [src/model/ports/container.port.ts:19](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L19)
22
-
23
- Get a full connection string for this service.
24
-
25
- #### Returns
26
-
27
- `string`
28
-
29
- ***
30
-
31
- ### getHost
32
-
33
- ```ts
34
- getHost: () => string;
35
- ```
36
-
37
- Defined in: [src/model/ports/container.port.ts:16](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L16)
38
-
39
- Get the host to connect to.
40
-
41
- #### Returns
42
-
43
- `string`
44
-
45
- ***
46
-
47
- ### getLogs
48
-
49
- ```ts
50
- getLogs: () => Promise<string>;
51
- ```
52
-
53
- Defined in: [src/model/ports/container.port.ts:22](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L22)
54
-
55
- Get container logs (stdout + stderr).
56
-
57
- #### Returns
58
-
59
- `Promise`\<`string`\>
60
-
61
- ***
62
-
63
- ### getMappedPort
64
-
65
- ```ts
66
- getMappedPort: (containerPort) => number;
67
- ```
68
-
69
- Defined in: [src/model/ports/container.port.ts:13](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L13)
70
-
71
- Get the mapped host port for a container port.
72
-
73
- #### Parameters
74
-
75
- | Parameter | Type |
76
- | ------ | ------ |
77
- | `containerPort` | `number` |
78
-
79
- #### Returns
80
-
81
- `number`
82
-
83
- ***
84
-
85
- ### start
86
-
87
- ```ts
88
- start: () => Promise<void>;
89
- ```
90
-
91
- Defined in: [src/model/ports/container.port.ts:7](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L7)
92
-
93
- Start the container and wait until ready.
94
-
95
- #### Returns
96
-
97
- `Promise`\<`void`\>
98
-
99
- ***
100
-
101
- ### stop
102
-
103
- ```ts
104
- stop: () => Promise<void>;
105
- ```
106
-
107
- Defined in: [src/model/ports/container.port.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L10)
108
-
109
- Stop and remove the container.
110
-
111
- #### Returns
112
-
113
- `Promise`\<`void`\>
@@ -1,68 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: Contract
3
-
4
- ```ts
5
- type Contract = object;
6
- ```
7
-
8
- Defined in: [src/model/contracts/contract.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L10)
9
-
10
- A declared external interaction: what to match (`request`) and what to reply
11
- (`response`), together in one named artifact. Contracts live in TypeScript
12
- files under `contracts/` next to the tests that use them, so the business
13
- payload (prompts, JSON responses) is visible at a glance while the real HTTP
14
- call stays mocked underneath.
15
-
16
- ## Properties
17
-
18
- ### request
19
-
20
- ```ts
21
- request: ContractRequest;
22
- ```
23
-
24
- Defined in: [src/model/contracts/contract.ts:12](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L12)
25
-
26
- Which outgoing call this contract speaks for.
27
-
28
- ***
29
-
30
- ### required?
31
-
32
- ```ts
33
- optional required?: boolean;
34
- ```
35
-
36
- Defined in: [src/model/contracts/contract.ts:30](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L30)
37
-
38
- When true, the chain FAILS unless the contract was actually requested:
39
- at least once, or exactly `times` times when `times` is set. Turns a
40
- silently-unused declaration into a spec failure.
41
-
42
- ***
43
-
44
- ### response
45
-
46
- ```ts
47
- response: ContractResponseValue;
48
- ```
49
-
50
- Defined in: [src/model/contracts/contract.ts:18](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L18)
51
-
52
- The reply — a fixed [ContractResponse](ContractResponse.md), or a function
53
- `(request) => ContractResponse` evaluated per served request when the
54
- response must derive from the incoming payload.
55
-
56
- ***
57
-
58
- ### times?
59
-
60
- ```ts
61
- optional times?: number;
62
- ```
63
-
64
- Defined in: [src/model/contracts/contract.ts:24](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L24)
65
-
66
- How many times this contract may serve. Omitted = unlimited (a
67
- re-render or a retry replays it). `n` = exhausted after n serves, so an
68
- ordered sequence is a finite contract followed by an unlimited tail.