@jterrazz/test 16.1.1 → 18.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 (309) hide show
  1. package/README.md +45 -171
  2. package/dist/browser/index.js +1 -2980
  3. package/dist/browser/services.js +1 -0
  4. package/dist/browser/stubs.js +1 -0
  5. package/dist/browser-shared-index.browser.js +3233 -0
  6. package/dist/checker.d.ts +6 -1
  7. package/dist/checker.js +3721 -2624
  8. package/dist/config.d.ts +40 -0
  9. package/dist/config.js +309 -0
  10. package/dist/in-place.global-setup.d.ts +12 -0
  11. package/dist/in-place.global-setup.js +21 -0
  12. package/dist/index.d.ts +1641 -3004
  13. package/dist/index.js +5095 -3835
  14. package/dist/mobile-session.global-setup.d.ts +15 -0
  15. package/dist/mobile-session.global-setup.js +31 -0
  16. package/dist/oxlint.cjs +6069 -5634
  17. package/dist/oxlint.d.cts +43 -7212
  18. package/dist/oxlint.d.ts +43 -7212
  19. package/dist/oxlint.js +3979 -5799
  20. package/dist/route-coverage.global-setup.d.ts +43 -0
  21. package/dist/route-coverage.global-setup.js +1 -0
  22. package/dist/services.d.ts +3 -0
  23. package/dist/services.global-setup.d.ts +43 -0
  24. package/dist/services.global-setup.js +1 -0
  25. package/dist/services.js +597 -0
  26. package/dist/shared-appium.adapter.js +428 -0
  27. package/dist/shared-artifacts.js +34 -0
  28. package/dist/shared-chapter.js +7 -0
  29. package/dist/shared-container.port.d.ts +31 -0
  30. package/dist/shared-derived-projects.js +73 -0
  31. package/dist/shared-device.port.d.ts +189 -0
  32. package/dist/shared-exchange.js +447 -0
  33. package/dist/shared-in-place.js +172 -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-listened-port.js +19 -0
  40. package/dist/shared-literate-plugin.js +184 -0
  41. package/dist/shared-manifest.js +1321 -0
  42. package/dist/shared-pause.js +22 -0
  43. package/dist/shared-peer.js +88 -0
  44. package/dist/shared-playwright.adapter.js +328 -0
  45. package/dist/shared-process-alive.js +13 -0
  46. package/dist/shared-process.adapter.js +74 -0
  47. package/dist/shared-record-key.js +13 -0
  48. package/dist/shared-refusal.js +35 -0
  49. package/dist/shared-resolve.js +24 -0
  50. package/dist/shared-route-coverage.global-setup.js +187 -0
  51. package/dist/shared-scenario-failure.js +198 -0
  52. package/dist/shared-serve.js +407 -0
  53. package/dist/shared-service-images.js +10 -0
  54. package/dist/shared-services.global-setup.js +174 -0
  55. package/dist/shared-session-ledger.js +305 -0
  56. package/dist/shared-setup-entry.js +12 -0
  57. package/dist/shared-source-scan.js +133 -0
  58. package/dist/shared-spec-document.js +303 -0
  59. package/dist/shared-spec-grammar.js +66 -0
  60. package/dist/shared-specifications.js +26 -0
  61. package/dist/shared-specs-modules.js +1033 -0
  62. package/dist/shared-stub-reply.js +167 -0
  63. package/dist/shared-stub-server.js +142 -0
  64. package/dist/shared-temp-root.global-setup.js +73 -0
  65. package/dist/shared-test-baseline.js +26 -0
  66. package/dist/shared-test-section.js +58 -0
  67. package/dist/shared-testcontainers.adapter.js +306 -0
  68. package/dist/shared-tokens.js +55 -0
  69. package/dist/shared-yaml-document.js +119 -0
  70. package/dist/stubs.d.ts +2 -0
  71. package/dist/stubs.js +657 -0
  72. package/dist/temp-root.global-setup.d.ts +7 -0
  73. package/dist/temp-root.global-setup.js +1 -0
  74. package/dist/vitest.d.ts +93 -164
  75. package/dist/vitest.js +382 -550
  76. package/docs/README.md +82 -36
  77. package/docs/concepts/architecture.md +118 -0
  78. package/docs/concepts/conventions.md +333 -0
  79. package/docs/guides/api-specs.md +374 -0
  80. package/docs/guides/cli-specs.md +566 -0
  81. package/docs/guides/component-specs.md +252 -0
  82. package/docs/guides/develop.md +97 -0
  83. package/docs/guides/integration-specs.md +181 -0
  84. package/docs/guides/job-specs.md +180 -0
  85. package/docs/guides/lint-specs.md +174 -0
  86. package/docs/guides/mobile-specs.md +319 -0
  87. package/docs/guides/module-tests.md +149 -0
  88. package/docs/guides/release.md +44 -0
  89. package/docs/guides/spec-documents.md +189 -0
  90. package/docs/guides/website-specs.md +413 -0
  91. package/docs/reference/assertions.md +345 -0
  92. package/docs/reference/glossary.md +20 -0
  93. package/docs/reference/linting.md +483 -0
  94. package/docs/reference/services.md +236 -0
  95. package/docs/reference/stubs.md +500 -0
  96. package/docs/reference/time-and-doubles.md +137 -0
  97. package/docs/reference/tokens.md +258 -0
  98. package/docs/reference/visitor.md +221 -0
  99. package/docs/start/getting-started.md +187 -0
  100. package/docs/start/set-up-a-project.md +228 -0
  101. package/package.json +56 -36
  102. package/schema/spec.schema.json +43 -17
  103. package/dist/appium.adapter.js +0 -489
  104. package/dist/artifacts.js +0 -32
  105. package/dist/fixtures.js +0 -110
  106. package/dist/literate.js +0 -1747
  107. package/dist/match.js +0 -804
  108. package/dist/playwright.adapter.js +0 -438
  109. package/dist/server.js +0 -160
  110. package/dist/stream.js +0 -321
  111. package/dist/substring-warning.js +0 -282
  112. package/docs/01-architecture.md +0 -95
  113. package/docs/02-developing.md +0 -351
  114. package/docs/03-testing.md +0 -495
  115. package/docs/04-operating.md +0 -101
  116. package/docs/05-module-tests.md +0 -152
  117. package/docs/06-integration.md +0 -180
  118. package/docs/07-component.md +0 -246
  119. package/docs/08-website.md +0 -404
  120. package/docs/09-mobile.md +0 -270
  121. package/docs/10-api.md +0 -264
  122. package/docs/11-jobs.md +0 -157
  123. package/docs/12-cli.md +0 -677
  124. package/docs/13-elements.md +0 -248
  125. package/docs/14-assertions.md +0 -314
  126. package/docs/15-tokens.md +0 -253
  127. package/docs/16-contracts.md +0 -438
  128. package/docs/17-services.md +0 -188
  129. package/docs/18-conventions.md +0 -332
  130. package/docs/19-linting.md +0 -512
  131. package/docs/decisions/001-v9-conventions-on-three-channels.md +0 -50
  132. package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +0 -49
  133. package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +0 -84
  134. package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +0 -81
  135. package/docs/decisions/005-the-doubles-ladder-is-closed.md +0 -86
  136. package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +0 -245
  137. package/docs/decisions/007-compose-mode-leaves-the-package.md +0 -53
  138. package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +0 -75
  139. package/docs/decisions/_template.md +0 -22
  140. package/docs/reference/classes/Matcher.md +0 -120
  141. package/docs/reference/classes/ProcessHandle.md +0 -368
  142. package/docs/reference/functions/defineContract.md +0 -39
  143. package/docs/reference/functions/defineContracts.md +0 -36
  144. package/docs/reference/functions/disabled.md +0 -28
  145. package/docs/reference/functions/enabled.md +0 -20
  146. package/docs/reference/functions/focused.md +0 -26
  147. package/docs/reference/functions/mockOf.md +0 -79
  148. package/docs/reference/functions/postgres.md +0 -31
  149. package/docs/reference/functions/process.md +0 -33
  150. package/docs/reference/functions/redis.md +0 -28
  151. package/docs/reference/functions/required.md +0 -41
  152. package/docs/reference/functions/selected.md +0 -26
  153. package/docs/reference/functions/sqlite.md +0 -33
  154. package/docs/reference/functions/testId.md +0 -20
  155. package/docs/reference/functions/text.md +0 -40
  156. package/docs/reference/functions/valued.md +0 -28
  157. package/docs/reference/functions/waitUntil.md +0 -46
  158. package/docs/reference/functions/within.md +0 -29
  159. package/docs/reference/index.md +0 -196
  160. package/docs/reference/interfaces/BaseResult.md +0 -87
  161. package/docs/reference/interfaces/CallResult.md +0 -160
  162. package/docs/reference/interfaces/CaptureScope.md +0 -82
  163. package/docs/reference/interfaces/CliResult.md +0 -253
  164. package/docs/reference/interfaces/ContainerAccessor.md +0 -166
  165. package/docs/reference/interfaces/DirectoryAccessor.md +0 -33
  166. package/docs/reference/interfaces/FetchResult.md +0 -180
  167. package/docs/reference/interfaces/FilesystemAccessor.md +0 -46
  168. package/docs/reference/interfaces/HttpResult.md +0 -126
  169. package/docs/reference/interfaces/JsonAccessor.md +0 -46
  170. package/docs/reference/interfaces/PageResult.md +0 -356
  171. package/docs/reference/interfaces/RenderResult.md +0 -72
  172. package/docs/reference/interfaces/RenderedText.md +0 -110
  173. package/docs/reference/interfaces/ResponseAccessor.md +0 -47
  174. package/docs/reference/interfaces/ScreenResult.md +0 -128
  175. package/docs/reference/interfaces/TableAccessor.md +0 -26
  176. package/docs/reference/interfaces/TextAccessor.md +0 -96
  177. package/docs/reference/type-aliases/ApiHandle.md +0 -68
  178. package/docs/reference/type-aliases/ApiSpecification.md +0 -213
  179. package/docs/reference/type-aliases/ApiSpecificationOptions.md +0 -68
  180. package/docs/reference/type-aliases/BrowserConsoleMessage.md +0 -30
  181. package/docs/reference/type-aliases/BrowserLinkElement.md +0 -50
  182. package/docs/reference/type-aliases/BrowserMetaElement.md +0 -40
  183. package/docs/reference/type-aliases/BrowserOpenOptions.md +0 -87
  184. package/docs/reference/type-aliases/BrowserPage.md +0 -132
  185. package/docs/reference/type-aliases/BrowserPort.md +0 -51
  186. package/docs/reference/type-aliases/CliEnv.md +0 -11
  187. package/docs/reference/type-aliases/CliHandle.md +0 -80
  188. package/docs/reference/type-aliases/CliInput.md +0 -36
  189. package/docs/reference/type-aliases/CliOutput.md +0 -46
  190. package/docs/reference/type-aliases/CliPort.md +0 -58
  191. package/docs/reference/type-aliases/CliSpecification.md +0 -144
  192. package/docs/reference/type-aliases/CliSpecificationOptions.md +0 -134
  193. package/docs/reference/type-aliases/ComponentChain.md +0 -156
  194. package/docs/reference/type-aliases/ComponentScenario.md +0 -20
  195. package/docs/reference/type-aliases/ComponentUi.md +0 -47
  196. package/docs/reference/type-aliases/ComponentVisitor.md +0 -10
  197. package/docs/reference/type-aliases/ContainerPort.md +0 -113
  198. package/docs/reference/type-aliases/Contract.md +0 -68
  199. package/docs/reference/type-aliases/ContractInput.md +0 -13
  200. package/docs/reference/type-aliases/ContractRequest.md +0 -95
  201. package/docs/reference/type-aliases/ContractResponder.md +0 -23
  202. package/docs/reference/type-aliases/ContractResponse.md +0 -78
  203. package/docs/reference/type-aliases/ContractResponseValue.md +0 -13
  204. package/docs/reference/type-aliases/Contracts.md +0 -48
  205. package/docs/reference/type-aliases/DatabaseKeys.md +0 -16
  206. package/docs/reference/type-aliases/DatabasePort.md +0 -72
  207. package/docs/reference/type-aliases/DeviceOpenOptions.md +0 -46
  208. package/docs/reference/type-aliases/DevicePort.md +0 -51
  209. package/docs/reference/type-aliases/DeviceScreen.md +0 -32
  210. package/docs/reference/type-aliases/DeviceTimeouts.md +0 -39
  211. package/docs/reference/type-aliases/DockerSpecConfig.md +0 -43
  212. package/docs/reference/type-aliases/DomMount.md +0 -21
  213. package/docs/reference/type-aliases/ElementKind.md +0 -27
  214. package/docs/reference/type-aliases/ElementMatch.md +0 -74
  215. package/docs/reference/type-aliases/ElementOptions.md +0 -29
  216. package/docs/reference/type-aliases/ElementRef.md +0 -128
  217. package/docs/reference/type-aliases/ExecOptions.md +0 -37
  218. package/docs/reference/type-aliases/FileAccessor.md +0 -54
  219. package/docs/reference/type-aliases/HonoApp.md +0 -31
  220. package/docs/reference/type-aliases/HttpContractFilter.md +0 -49
  221. package/docs/reference/type-aliases/HttpResponseInit.md +0 -46
  222. package/docs/reference/type-aliases/HttpStreamInit.md +0 -58
  223. package/docs/reference/type-aliases/IntegrationHandle.md +0 -46
  224. package/docs/reference/type-aliases/IntegrationSpecification.md +0 -111
  225. package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +0 -42
  226. package/docs/reference/type-aliases/Intercept.md +0 -19
  227. package/docs/reference/type-aliases/InterceptOptions.md +0 -28
  228. package/docs/reference/type-aliases/InterceptScope.md +0 -11
  229. package/docs/reference/type-aliases/IsolationStrategy.md +0 -75
  230. package/docs/reference/type-aliases/JobHandle.md +0 -34
  231. package/docs/reference/type-aliases/JobsHandle.md +0 -57
  232. package/docs/reference/type-aliases/JobsResult.md +0 -16
  233. package/docs/reference/type-aliases/JobsSpecification.md +0 -94
  234. package/docs/reference/type-aliases/JobsSpecificationOptions.md +0 -56
  235. package/docs/reference/type-aliases/LandmarkKind.md +0 -20
  236. package/docs/reference/type-aliases/LiterateRunFlags.md +0 -27
  237. package/docs/reference/type-aliases/LiterateServeRegistration.md +0 -70
  238. package/docs/reference/type-aliases/MatchFixtureOptions.md +0 -27
  239. package/docs/reference/type-aliases/MatchableRequest.md +0 -61
  240. package/docs/reference/type-aliases/MatcherKind.md +0 -34
  241. package/docs/reference/type-aliases/MobileBackendOptions.md +0 -28
  242. package/docs/reference/type-aliases/MobileElementKind.md +0 -14
  243. package/docs/reference/type-aliases/MobileElementMatch.md +0 -60
  244. package/docs/reference/type-aliases/MobileElementRef.md +0 -20
  245. package/docs/reference/type-aliases/MobileHandle.md +0 -65
  246. package/docs/reference/type-aliases/MobileScenario.md +0 -20
  247. package/docs/reference/type-aliases/MobileSpecification.md +0 -51
  248. package/docs/reference/type-aliases/MobileSpecificationOptions.md +0 -126
  249. package/docs/reference/type-aliases/MobileVisitor.md +0 -81
  250. package/docs/reference/type-aliases/MockOfOptions.md +0 -26
  251. package/docs/reference/type-aliases/MockPort.md +0 -10
  252. package/docs/reference/type-aliases/PinnedClock.md +0 -10
  253. package/docs/reference/type-aliases/PostgresOptions.md +0 -32
  254. package/docs/reference/type-aliases/ProcessOptions.md +0 -112
  255. package/docs/reference/type-aliases/RedisOptions.md +0 -20
  256. package/docs/reference/type-aliases/RenderSubject.md +0 -12
  257. package/docs/reference/type-aliases/ScreenNode.md +0 -67
  258. package/docs/reference/type-aliases/ServerPort.md +0 -36
  259. package/docs/reference/type-aliases/ServerResponse.md +0 -46
  260. package/docs/reference/type-aliases/ServerSpec.md +0 -21
  261. package/docs/reference/type-aliases/ServiceHandle.md +0 -216
  262. package/docs/reference/type-aliases/ServiceRecord.md +0 -12
  263. package/docs/reference/type-aliases/SpecDocument.md +0 -84
  264. package/docs/reference/type-aliases/SpecEnvToken.md +0 -21
  265. package/docs/reference/type-aliases/SpecFileAssertion.md +0 -27
  266. package/docs/reference/type-aliases/SpecFixture.md +0 -30
  267. package/docs/reference/type-aliases/SpecKind.md +0 -8
  268. package/docs/reference/type-aliases/SpecRun.md +0 -108
  269. package/docs/reference/type-aliases/SpecServeEntry.md +0 -40
  270. package/docs/reference/type-aliases/SpecStream.md +0 -32
  271. package/docs/reference/type-aliases/SpecificationConfig.md +0 -290
  272. package/docs/reference/type-aliases/SqliteOptions.md +0 -36
  273. package/docs/reference/type-aliases/SseEvent.md +0 -58
  274. package/docs/reference/type-aliases/StreamBody.md +0 -61
  275. package/docs/reference/type-aliases/TextFilter.md +0 -22
  276. package/docs/reference/type-aliases/VisitScenario.md +0 -20
  277. package/docs/reference/type-aliases/Visitor.md +0 -215
  278. package/docs/reference/type-aliases/WaitUntilOptions.md +0 -46
  279. package/docs/reference/type-aliases/WebsiteBackendOptions.md +0 -37
  280. package/docs/reference/type-aliases/WebsiteHandle.md +0 -51
  281. package/docs/reference/type-aliases/WebsiteSpecification.md +0 -118
  282. package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +0 -40
  283. package/docs/reference/variables/anthropic.md +0 -19
  284. package/docs/reference/variables/banner.md +0 -10
  285. package/docs/reference/variables/button.md +0 -10
  286. package/docs/reference/variables/clock.md +0 -16
  287. package/docs/reference/variables/complementary.md +0 -10
  288. package/docs/reference/variables/component.md +0 -10
  289. package/docs/reference/variables/content.md +0 -10
  290. package/docs/reference/variables/contentinfo.md +0 -10
  291. package/docs/reference/variables/dialog.md +0 -10
  292. package/docs/reference/variables/field.md +0 -10
  293. package/docs/reference/variables/form.md +0 -10
  294. package/docs/reference/variables/heading.md +0 -10
  295. package/docs/reference/variables/http.md +0 -40
  296. package/docs/reference/variables/intercept.md +0 -11
  297. package/docs/reference/variables/link.md +0 -10
  298. package/docs/reference/variables/listitem.md +0 -10
  299. package/docs/reference/variables/main.md +0 -10
  300. package/docs/reference/variables/match.md +0 -8
  301. package/docs/reference/variables/navigation.md +0 -10
  302. package/docs/reference/variables/openai.md +0 -21
  303. package/docs/reference/variables/option.md +0 -17
  304. package/docs/reference/variables/region.md +0 -10
  305. package/docs/reference/variables/row.md +0 -10
  306. package/docs/reference/variables/search.md +0 -10
  307. package/docs/reference/variables/specification.md +0 -8
  308. package/docs/reference/variables/status.md +0 -10
  309. package/docs/reference/variables/table.md +0 -10
@@ -1,74 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ElementMatch
3
-
4
- ```ts
5
- type ElementMatch = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/browser.port.ts:100](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L100)
9
-
10
- One candidate captured when a descriptor matched more than one element —
11
- the evidence the ambiguity error enumerates so the author can disambiguate
12
- without opening a browser.
13
-
14
- ## Properties
15
-
16
- ### accessibleName?
17
-
18
- ```ts
19
- optional accessibleName?: string;
20
- ```
21
-
22
- Defined in: [src/model/ports/browser.port.ts:106](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L106)
23
-
24
- The accessible name, when it differs from the text — an `aria-label` is
25
- what a role descriptor MATCHED on, and printing the text alone sends the
26
- author to disambiguate a name they cannot see.
27
-
28
- ***
29
-
30
- ### context?
31
-
32
- ```ts
33
- optional context?: string;
34
- ```
35
-
36
- Defined in: [src/model/ports/browser.port.ts:108](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L108)
37
-
38
- Nearest landmark ancestor (`nav`, `footer`, `main`…), when there is one.
39
-
40
- ***
41
-
42
- ### detail?
43
-
44
- ```ts
45
- optional detail?: string;
46
- ```
47
-
48
- Defined in: [src/model/ports/browser.port.ts:110](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L110)
49
-
50
- The attribute that disambiguates most — `href` for links, `name` for fields.
51
-
52
- ***
53
-
54
- ### tag
55
-
56
- ```ts
57
- tag: string;
58
- ```
59
-
60
- Defined in: [src/model/ports/browser.port.ts:112](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L112)
61
-
62
- Tag name, lower-cased.
63
-
64
- ***
65
-
66
- ### text
67
-
68
- ```ts
69
- text: string;
70
- ```
71
-
72
- Defined in: [src/model/ports/browser.port.ts:114](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L114)
73
-
74
- Text content, whitespace-collapsed and truncated.
@@ -1,29 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ElementOptions
3
-
4
- ```ts
5
- type ElementOptions = object;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:16](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L16)
9
-
10
- Options accepted by every named descriptor.
11
-
12
- ## Properties
13
-
14
- ### exact?
15
-
16
- ```ts
17
- optional exact?: boolean;
18
- ```
19
-
20
- Defined in: [src/model/elements/elements.ts:27](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L27)
21
-
22
- Match the accessible name as a whole string. `true` by default since
23
- 16.0.
24
-
25
- A substring match is what a person does NOT mean: `link('Articles')`
26
- designated "Read Articles" as readily as "Articles", so a test could pass
27
- for years against the element beside the one it named. `{ exact: false }`
28
- is the opt-out, for a name that genuinely carries a variable part the
29
- test does not control.
@@ -1,128 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ElementRef
3
-
4
- ```ts
5
- type ElementRef = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/browser.port.ts:47](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L47)
9
-
10
- A user-facing element descriptor — pure data, built by the element
11
- vocabulary (`button()`, `link()`, `field()`, …) and translated into
12
- concrete locators by the browser integration. CSS/XPath selectors are
13
- deliberately not expressible: user-facing elements are the only surface.
14
-
15
- A descriptor must designate exactly ONE element at action time; see
16
- [ElementMatch](ElementMatch.md) and CONVENTIONS W3.
17
-
18
- ## Properties
19
-
20
- ### disabled?
21
-
22
- ```ts
23
- optional disabled?: boolean;
24
- ```
25
-
26
- Defined in: [src/model/ports/browser.port.ts:71](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L71)
27
-
28
- Narrows to "and it is (not) accepting input" — built by `disabled(x)` /
29
- `enabled(x)`. Like `focused`, a STATE the vocabulary can already name the
30
- element of; unlike it, one the ARIA tree carries too (`[disabled]`), so
31
- this modifier is what names the ONE control a test is about, and it
32
- reaches the direction a behavioural substitute cannot — clicking a
33
- disabled control is a timeout, never an answer.
34
-
35
- ***
36
-
37
- ### exact?
38
-
39
- ```ts
40
- optional exact?: boolean;
41
- ```
42
-
43
- Defined in: [src/model/ports/browser.port.ts:56](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L56)
44
-
45
- Match the accessible name as a whole string rather than a substring.
46
-
47
- ABSENT means "the author said nothing", which the adapters read as the
48
- default — exact — while keeping the information that no choice was made,
49
- so a name that matches only as a substring can be reported once with the
50
- transitional warning.
51
-
52
- ***
53
-
54
- ### focused?
55
-
56
- ```ts
57
- optional focused?: boolean;
58
- ```
59
-
60
- Defined in: [src/model/ports/browser.port.ts:62](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L62)
61
-
62
- Assert about the element's FOCUS rather than its presence — built by
63
- `focused(element)`. The accessibility tree carries no focus state, so
64
- where the keyboard is cannot be goldened; it is asserted by a verb.
65
-
66
- ***
67
-
68
- ### kind
69
-
70
- ```ts
71
- kind: ElementKind | LandmarkKind;
72
- ```
73
-
74
- Defined in: [src/model/ports/browser.port.ts:72](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L72)
75
-
76
- ***
77
-
78
- ### name?
79
-
80
- ```ts
81
- optional name?: string;
82
- ```
83
-
84
- Defined in: [src/model/ports/browser.port.ts:74](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L74)
85
-
86
- Landmarks may be anonymous (`main()`, `banner()`); everything else is named.
87
-
88
- ***
89
-
90
- ### scope?
91
-
92
- ```ts
93
- optional scope?: ElementRef;
94
- ```
95
-
96
- Defined in: [src/model/ports/browser.port.ts:92](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L92)
97
-
98
- Restrict the search to the elements of another descriptor — built by
99
- `within(scope, target)`. Chains: a scope may itself carry a scope.
100
-
101
- ***
102
-
103
- ### selected?
104
-
105
- ```ts
106
- optional selected?: boolean;
107
- ```
108
-
109
- Defined in: [src/model/ports/browser.port.ts:81](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L81)
110
-
111
- Narrows to "and it is (not) the chosen one" — built by `selected(x)`.
112
- An option of a COLLAPSED select is in the tree and in the document, and
113
- it has no box on the screen, so this facet of it is read from the node
114
- (`:checked`) rather than from what a visitor could point at.
115
-
116
- ***
117
-
118
- ### value?
119
-
120
- ```ts
121
- optional value?: string;
122
- ```
123
-
124
- Defined in: [src/model/ports/browser.port.ts:87](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L87)
125
-
126
- The value the field must hold — built by `valued(field('Title'), '…')`.
127
- A field's value is a PROPERTY of the node: a controlled input's `value`
128
- attribute never moves, so nothing but the live value answers for it.
@@ -1,37 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: ExecOptions
3
-
4
- ```ts
5
- type ExecOptions = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/cli.port.ts:19](https://github.com/jterrazz/package-test/blob/main/src/model/ports/cli.port.ts#L19)
9
-
10
- Options for the long-running form of `.exec()` (CONVENTIONS B2). When
11
- either option is present the process is spawned and observed: it resolves
12
- as soon as `waitFor` appears in stdout/stderr, and is killed when `timeout`
13
- elapses (exit code 124).
14
-
15
- ## Properties
16
-
17
- ### timeout?
18
-
19
- ```ts
20
- optional timeout?: number;
21
- ```
22
-
23
- Defined in: [src/model/ports/cli.port.ts:23](https://github.com/jterrazz/package-test/blob/main/src/model/ports/cli.port.ts#L23)
24
-
25
- Kill the process after this many milliseconds. Defaults to 10 000.
26
-
27
- ***
28
-
29
- ### waitFor?
30
-
31
- ```ts
32
- optional waitFor?: string;
33
- ```
34
-
35
- Defined in: [src/model/ports/cli.port.ts:21](https://github.com/jterrazz/package-test/blob/main/src/model/ports/cli.port.ts#L21)
36
-
37
- Resolve (exit code 0) when stdout/stderr contains this string.
@@ -1,54 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: FileAccessor
3
-
4
- ```ts
5
- type FileAccessor = object;
6
- ```
7
-
8
- Defined in: [src/model/result/result.ts:13](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L13)
9
-
10
- Read-only handle to a single file produced by a spec action.
11
-
12
- ## Properties
13
-
14
- ### content
15
-
16
- ```ts
17
- readonly content: string;
18
- ```
19
-
20
- Defined in: [src/model/result/result.ts:15](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L15)
21
-
22
- The UTF-8 text content. Throws if the file does not exist.
23
-
24
- ***
25
-
26
- ### exists
27
-
28
- ```ts
29
- readonly exists: boolean;
30
- ```
31
-
32
- Defined in: [src/model/result/result.ts:16](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L16)
33
-
34
- ***
35
-
36
- ### grep
37
-
38
- ```ts
39
- grep: (pattern) => TextAccessor;
40
- ```
41
-
42
- Defined in: [src/model/result/result.ts:18](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L18)
43
-
44
- The file text as a [TextAccessor](../interfaces/TextAccessor.md), keeping only blocks matching `pattern`.
45
-
46
- #### Parameters
47
-
48
- | Parameter | Type |
49
- | ------ | ------ |
50
- | `pattern` | `string` |
51
-
52
- #### Returns
53
-
54
- [`TextAccessor`](../interfaces/TextAccessor.md)
@@ -1,31 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: HonoApp
3
-
4
- ```ts
5
- type HonoApp = object;
6
- ```
7
-
8
- Defined in: [src/facets/api/api.specification.ts:20](https://github.com/jterrazz/package-test/blob/main/src/facets/api/api.specification.ts#L20)
9
-
10
- Any object with a request method compatible with Hono's app.request().
11
-
12
- ## Properties
13
-
14
- ### request
15
-
16
- ```ts
17
- request: (path, init?) => Promise<Response> | Response;
18
- ```
19
-
20
- Defined in: [src/facets/api/api.specification.ts:21](https://github.com/jterrazz/package-test/blob/main/src/facets/api/api.specification.ts#L21)
21
-
22
- #### Parameters
23
-
24
- | Parameter | Type |
25
- | ------ | ------ |
26
- | `path` | `string` |
27
- | `init?` | `RequestInit` |
28
-
29
- #### Returns
30
-
31
- `Promise`\<`Response`\> \| `Response`
@@ -1,49 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: HttpContractFilter
3
-
4
- ```ts
5
- type HttpContractFilter = object;
6
- ```
7
-
8
- Defined in: [src/model/contracts/http.ts:18](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L18)
9
-
10
- Request filters for the generic HTTP provider. Every field is a subset
11
- constraint — a request matches when all provided fields match.
12
-
13
- ## Properties
14
-
15
- ### body?
16
-
17
- ```ts
18
- optional body?: object | RegExp | string;
19
- ```
20
-
21
- Defined in: [src/model/contracts/http.ts:24](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L24)
22
-
23
- Body constraint. An object is a deep SUBSET match (toMatchObject-style)
24
- whose leaf values may be `match.*` matchers; a string is a containment
25
- test and a RegExp a `test()` over the raw text body.
26
-
27
- ***
28
-
29
- ### headers?
30
-
31
- ```ts
32
- optional headers?: Record<string, RegExp | string>;
33
- ```
34
-
35
- Defined in: [src/model/contracts/http.ts:26](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L26)
36
-
37
- Header subset. Names are case-insensitive; string = exact value, RegExp = `test()`.
38
-
39
- ***
40
-
41
- ### query?
42
-
43
- ```ts
44
- optional query?: Record<string, RegExp | string>;
45
- ```
46
-
47
- Defined in: [src/model/contracts/http.ts:28](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L28)
48
-
49
- Query-param subset. string = exact value, RegExp = `test()`.
@@ -1,46 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: HttpResponseInit
3
-
4
- ```ts
5
- type HttpResponseInit = object;
6
- ```
7
-
8
- Defined in: [src/model/contracts/http.ts:77](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L77)
9
-
10
- Init options shared by the response builders.
11
-
12
- ## Properties
13
-
14
- ### delay?
15
-
16
- ```ts
17
- optional delay?: number;
18
- ```
19
-
20
- Defined in: [src/model/contracts/http.ts:79](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L79)
21
-
22
- Delay in ms before responding (for timeout testing).
23
-
24
- ***
25
-
26
- ### headers?
27
-
28
- ```ts
29
- optional headers?: Record<string, string>;
30
- ```
31
-
32
- Defined in: [src/model/contracts/http.ts:81](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L81)
33
-
34
- Response headers, merged over the builder's own.
35
-
36
- ***
37
-
38
- ### status?
39
-
40
- ```ts
41
- optional status?: number;
42
- ```
43
-
44
- Defined in: [src/model/contracts/http.ts:83](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L83)
45
-
46
- HTTP status code.
@@ -1,58 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: HttpStreamInit
3
-
4
- ```ts
5
- type HttpStreamInit = object;
6
- ```
7
-
8
- Defined in: [src/model/contracts/http.ts:32](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L32)
9
-
10
- Init options for a streamed reply.
11
-
12
- ## Properties
13
-
14
- ### contentType?
15
-
16
- ```ts
17
- optional contentType?: string;
18
- ```
19
-
20
- Defined in: [src/model/contracts/http.ts:34](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L34)
21
-
22
- The `content-type` the stream is served under. Default `application/octet-stream`.
23
-
24
- ***
25
-
26
- ### delay?
27
-
28
- ```ts
29
- optional delay?: number;
30
- ```
31
-
32
- Defined in: [src/model/contracts/http.ts:36](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L36)
33
-
34
- Milliseconds between two chunks. Default 0 — every chunk at once.
35
-
36
- ***
37
-
38
- ### headers?
39
-
40
- ```ts
41
- optional headers?: Record<string, string>;
42
- ```
43
-
44
- Defined in: [src/model/contracts/http.ts:38](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L38)
45
-
46
- Response headers, merged over the builder's own.
47
-
48
- ***
49
-
50
- ### status?
51
-
52
- ```ts
53
- optional status?: number;
54
- ```
55
-
56
- Defined in: [src/model/contracts/http.ts:40](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L40)
57
-
58
- HTTP status code. Default 200.
@@ -1,46 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: IntegrationHandle\<Services, DatabaseKey\>
3
-
4
- ```ts
5
- type IntegrationHandle<Services, DatabaseKey> = object;
6
- ```
7
-
8
- Defined in: [src/facets/integration/integration.specification.ts:34](https://github.com/jterrazz/package-test/blob/main/src/facets/integration/integration.specification.ts#L34)
9
-
10
- The record returned by startIntegration \| specification.integration.
11
- Destructure with the canonical names (CONVENTIONS A3):
12
-
13
- const { integration, cleanup } = await specification.integration(…);
14
-
15
- ## Type Parameters
16
-
17
- | Type Parameter | Default type |
18
- | ------ | ------ |
19
- | `Services` *extends* [`ServiceRecord`](ServiceRecord.md) | [`ServiceRecord`](ServiceRecord.md) |
20
- | `DatabaseKey` *extends* `string` | `string` |
21
-
22
- ## Properties
23
-
24
- ### cleanup
25
-
26
- ```ts
27
- cleanup: () => Promise<void>;
28
- ```
29
-
30
- Defined in: [src/facets/integration/integration.specification.ts:39](https://github.com/jterrazz/package-test/blob/main/src/facets/integration/integration.specification.ts#L39)
31
-
32
- Stop all infrastructure started by this specification.
33
-
34
- #### Returns
35
-
36
- `Promise`\<`void`\>
37
-
38
- ***
39
-
40
- ### integration
41
-
42
- ```ts
43
- integration: IntegrationSpecification<Services, DatabaseKey>;
44
- ```
45
-
46
- Defined in: [src/facets/integration/integration.specification.ts:40](https://github.com/jterrazz/package-test/blob/main/src/facets/integration/integration.specification.ts#L40)
@@ -1,111 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: IntegrationSpecification\<Services, DatabaseKey\>
3
-
4
- ```ts
5
- type IntegrationSpecification<Services, DatabaseKey> = object;
6
- ```
7
-
8
- Defined in: [src/model/chain/builder.ts:237](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L237)
9
-
10
- The `integration` facet — the in-process chain handed out by
11
- `specification.integration()`.
12
-
13
- The subject is a MODULE, not an entry: no HTTP, no binary, no page. What
14
- makes it a spec rather than a module test is what it stands on — real
15
- services, declared contracts, a golden — so it takes the same setups as
16
- every other facet and ends on the one action a module has: being called.
17
-
18
- ## Type Parameters
19
-
20
- | Type Parameter | Default type |
21
- | ------ | ------ |
22
- | `Services` *extends* `Record`\<`string`, `unknown`\> | `Record`\<`string`, `unknown`\> |
23
- | `DatabaseKey` *extends* `string` | `string` |
24
-
25
- ## Properties
26
-
27
- ### call
28
-
29
- ```ts
30
- call: <T>(subject) => Promise<CallResult<T>>;
31
- ```
32
-
33
- Defined in: [src/model/chain/builder.ts:256](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L256)
34
-
35
- Call the module and resolve with what it produced. The started services
36
- record is handed in, so the subject is constructed with the real
37
- connection strings rather than with a double.
38
-
39
- #### Type Parameters
40
-
41
- | Type Parameter |
42
- | ------ |
43
- | `T` |
44
-
45
- #### Parameters
46
-
47
- | Parameter | Type |
48
- | ------ | ------ |
49
- | `subject` | (`services`) => `Promise`\<`T`\> \| `T` |
50
-
51
- #### Returns
52
-
53
- `Promise`\<[`CallResult`](../interfaces/CallResult.md)\<`T`\>\>
54
-
55
- ***
56
-
57
- ### clock
58
-
59
- ```ts
60
- clock: (iso) => IntegrationSpecification<Services, DatabaseKey>;
61
- ```
62
-
63
- Defined in: [src/model/chain/builder.ts:242](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L242)
64
-
65
- Pin the module's `Date` at `iso` for this chain.
66
-
67
- #### Parameters
68
-
69
- | Parameter | Type |
70
- | ------ | ------ |
71
- | `iso` | `string` |
72
-
73
- #### Returns
74
-
75
- `IntegrationSpecification`\<`Services`, `DatabaseKey`\>
76
-
77
- ***
78
-
79
- ### intercept
80
-
81
- ```ts
82
- intercept: InterceptMethod<IntegrationSpecification<Services, DatabaseKey>>;
83
- ```
84
-
85
- Defined in: [src/model/chain/builder.ts:244](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L244)
86
-
87
- Declare outgoing calls — a contract, a list, a composite, or an inline request + response pair.
88
-
89
- ***
90
-
91
- ### seed
92
-
93
- ```ts
94
- seed: (file, options?) => IntegrationSpecification<Services, DatabaseKey>;
95
- ```
96
-
97
- Defined in: [src/model/chain/builder.ts:246](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L246)
98
-
99
- Queue a SQL seed file from `_seeds/` to run before the call.
100
-
101
- #### Parameters
102
-
103
- | Parameter | Type |
104
- | ------ | ------ |
105
- | `file` | `string` |
106
- | `options?` | \{ `database?`: `DatabaseKey`; \} |
107
- | `options.database?` | `DatabaseKey` |
108
-
109
- #### Returns
110
-
111
- `IntegrationSpecification`\<`Services`, `DatabaseKey`\>