@jterrazz/test 16.1.0 → 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 -2867
  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 +4551 -2612
  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 -3002
  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 +6073 -5616
  16. package/dist/oxlint.d.cts +43 -7212
  17. package/dist/oxlint.d.ts +43 -7212
  18. package/dist/oxlint.js +6065 -5609
  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 +374 -507
  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 -349
  104. package/dist/server.js +0 -160
  105. package/dist/stream.js +0 -321
  106. package/dist/substring-warning.js +0 -244
  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 -242
  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 -305
  125. package/docs/19-linting.md +0 -510
  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,215 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: Visitor
3
-
4
- ```ts
5
- type Visitor = object;
6
- ```
7
-
8
- Defined in: [src/model/ports/browser.port.ts:144](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L144)
9
-
10
- The visitor — the interaction vocabulary handed to a visit scenario.
11
- Every action auto-waits (playwright actionability); `see()` is the single
12
- synchronization primitive: it retries until the element is visible and
13
- fails at the timeout. There is no sleep and no conditional helper.
14
-
15
- ## Properties
16
-
17
- ### check
18
-
19
- ```ts
20
- check: (element) => Promise<void>;
21
- ```
22
-
23
- Defined in: [src/model/ports/browser.port.ts:146](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L146)
24
-
25
- Check a checkbox or radio.
26
-
27
- #### Parameters
28
-
29
- | Parameter | Type |
30
- | ------ | ------ |
31
- | `element` | [`ElementRef`](ElementRef.md) |
32
-
33
- #### Returns
34
-
35
- `Promise`\<`void`\>
36
-
37
- ***
38
-
39
- ### click
40
-
41
- ```ts
42
- click: (element) => Promise<void>;
43
- ```
44
-
45
- Defined in: [src/model/ports/browser.port.ts:148](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L148)
46
-
47
- Click the element.
48
-
49
- #### Parameters
50
-
51
- | Parameter | Type |
52
- | ------ | ------ |
53
- | `element` | [`ElementRef`](ElementRef.md) |
54
-
55
- #### Returns
56
-
57
- `Promise`\<`void`\>
58
-
59
- ***
60
-
61
- ### fill
62
-
63
- ```ts
64
- fill: (element, value) => Promise<void>;
65
- ```
66
-
67
- Defined in: [src/model/ports/browser.port.ts:150](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L150)
68
-
69
- Fill a form field with a value.
70
-
71
- #### Parameters
72
-
73
- | Parameter | Type |
74
- | ------ | ------ |
75
- | `element` | [`ElementRef`](ElementRef.md) |
76
- | `value` | `string` |
77
-
78
- #### Returns
79
-
80
- `Promise`\<`void`\>
81
-
82
- ***
83
-
84
- ### gone
85
-
86
- ```ts
87
- gone: (element) => Promise<void>;
88
- ```
89
-
90
- Defined in: [src/model/ports/browser.port.ts:156](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L156)
91
-
92
- Wait until the element is GONE — hidden, or never in the document. The
93
- absence primitive: `see()` cannot answer "the dialog closed", because an
94
- element that never appears and one that disappeared read the same to it.
95
-
96
- #### Parameters
97
-
98
- | Parameter | Type |
99
- | ------ | ------ |
100
- | `element` | [`ElementRef`](ElementRef.md) |
101
-
102
- #### Returns
103
-
104
- `Promise`\<`void`\>
105
-
106
- ***
107
-
108
- ### goto
109
-
110
- ```ts
111
- goto: (path) => Promise<void>;
112
- ```
113
-
114
- Defined in: [src/model/ports/browser.port.ts:158](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L158)
115
-
116
- Navigate to a path of the site under test.
117
-
118
- #### Parameters
119
-
120
- | Parameter | Type |
121
- | ------ | ------ |
122
- | `path` | `string` |
123
-
124
- #### Returns
125
-
126
- `Promise`\<`void`\>
127
-
128
- ***
129
-
130
- ### hover
131
-
132
- ```ts
133
- hover: (element) => Promise<void>;
134
- ```
135
-
136
- Defined in: [src/model/ports/browser.port.ts:160](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L160)
137
-
138
- Hover the element.
139
-
140
- #### Parameters
141
-
142
- | Parameter | Type |
143
- | ------ | ------ |
144
- | `element` | [`ElementRef`](ElementRef.md) |
145
-
146
- #### Returns
147
-
148
- `Promise`\<`void`\>
149
-
150
- ***
151
-
152
- ### press
153
-
154
- ```ts
155
- press: (key) => Promise<void>;
156
- ```
157
-
158
- Defined in: [src/model/ports/browser.port.ts:162](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L162)
159
-
160
- Press a key (e.g. `Enter`).
161
-
162
- #### Parameters
163
-
164
- | Parameter | Type |
165
- | ------ | ------ |
166
- | `key` | `string` |
167
-
168
- #### Returns
169
-
170
- `Promise`\<`void`\>
171
-
172
- ***
173
-
174
- ### see
175
-
176
- ```ts
177
- see: (element) => Promise<void>;
178
- ```
179
-
180
- Defined in: [src/model/ports/browser.port.ts:164](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L164)
181
-
182
- Wait until the element is visible — the only synchronization primitive.
183
-
184
- #### Parameters
185
-
186
- | Parameter | Type |
187
- | ------ | ------ |
188
- | `element` | [`ElementRef`](ElementRef.md) |
189
-
190
- #### Returns
191
-
192
- `Promise`\<`void`\>
193
-
194
- ***
195
-
196
- ### select
197
-
198
- ```ts
199
- select: (element, option) => Promise<void>;
200
- ```
201
-
202
- Defined in: [src/model/ports/browser.port.ts:166](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L166)
203
-
204
- Select an option in a select field.
205
-
206
- #### Parameters
207
-
208
- | Parameter | Type |
209
- | ------ | ------ |
210
- | `element` | [`ElementRef`](ElementRef.md) |
211
- | `option` | `string` |
212
-
213
- #### Returns
214
-
215
- `Promise`\<`void`\>
@@ -1,46 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WaitUntilOptions
3
-
4
- ```ts
5
- type WaitUntilOptions = object;
6
- ```
7
-
8
- Defined in: [src/model/assertions/wait-until.ts:4](https://github.com/jterrazz/package-test/blob/main/src/model/assertions/wait-until.ts#L4)
9
-
10
- How long to wait, and how often to look.
11
-
12
- ## Properties
13
-
14
- ### interval?
15
-
16
- ```ts
17
- optional interval?: number;
18
- ```
19
-
20
- Defined in: [src/model/assertions/wait-until.ts:6](https://github.com/jterrazz/package-test/blob/main/src/model/assertions/wait-until.ts#L6)
21
-
22
- Milliseconds between two readings. Default 50.
23
-
24
- ***
25
-
26
- ### timeout?
27
-
28
- ```ts
29
- optional timeout?: number;
30
- ```
31
-
32
- Defined in: [src/model/assertions/wait-until.ts:8](https://github.com/jterrazz/package-test/blob/main/src/model/assertions/wait-until.ts#L8)
33
-
34
- How long the condition has to become true. Default 5 000 ms.
35
-
36
- ***
37
-
38
- ### why?
39
-
40
- ```ts
41
- optional why?: string;
42
- ```
43
-
44
- Defined in: [src/model/assertions/wait-until.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/assertions/wait-until.ts#L10)
45
-
46
- What the condition is, named in the failure. Default: the predicate's source.
@@ -1,37 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WebsiteBackendOptions
3
-
4
- ```ts
5
- type WebsiteBackendOptions = object;
6
- ```
7
-
8
- Defined in: [src/facets/website/website.specification.ts:62](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L62)
9
-
10
- The declared stub backend behind the site under test — started before the
11
- server command, torn down with the runner. Its URL is injected into the
12
- server child's environment under `env`; the contracts each chain declares
13
- via `.intercept(...)` are what it serves.
14
-
15
- ## Properties
16
-
17
- ### env
18
-
19
- ```ts
20
- env: string;
21
- ```
22
-
23
- Defined in: [src/facets/website/website.specification.ts:64](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L64)
24
-
25
- Env var receiving the stub's URL in the server child (e.g. `'API_URL'`).
26
-
27
- ***
28
-
29
- ### port?
30
-
31
- ```ts
32
- optional port?: number;
33
- ```
34
-
35
- Defined in: [src/facets/website/website.specification.ts:66](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L66)
36
-
37
- Fixed port — pins a stable stub URL across runs. Default: a free OS-assigned port.
@@ -1,51 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WebsiteHandle
3
-
4
- ```ts
5
- type WebsiteHandle = object;
6
- ```
7
-
8
- Defined in: [src/facets/website/website.specification.ts:213](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L213)
9
-
10
- The record returned by startWebsite \| specification.website.
11
- Destructure with the canonical names (CONVENTIONS A3):
12
-
13
- const { website, cleanup } = await specification.website(…);
14
-
15
- ## Properties
16
-
17
- ### cleanup
18
-
19
- ```ts
20
- cleanup: () => Promise<void>;
21
- ```
22
-
23
- Defined in: [src/facets/website/website.specification.ts:215](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L215)
24
-
25
- Stop the server process and the shared browser instance.
26
-
27
- #### Returns
28
-
29
- `Promise`\<`void`\>
30
-
31
- ***
32
-
33
- ### url
34
-
35
- ```ts
36
- url: string;
37
- ```
38
-
39
- Defined in: [src/facets/website/website.specification.ts:217](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L217)
40
-
41
- The base URL the specs run against.
42
-
43
- ***
44
-
45
- ### website
46
-
47
- ```ts
48
- website: WebsiteSpecification;
49
- ```
50
-
51
- Defined in: [src/facets/website/website.specification.ts:218](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L218)
@@ -1,118 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WebsiteSpecification
3
-
4
- ```ts
5
- type WebsiteSpecification = object;
6
- ```
7
-
8
- Defined in: [src/model/chain/builder.ts:302](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L302)
9
-
10
- The `website` facet — page chain entry handed out by
11
- `specification.website()`. Setup methods chain; action methods are
12
- terminal. `.visit()` renders the page in the shared browser; `.fetch()`
13
- performs one raw HTTP exchange and never follows redirects.
14
-
15
- ## Properties
16
-
17
- ### clock
18
-
19
- ```ts
20
- clock: (iso) => WebsiteSpecification;
21
- ```
22
-
23
- Defined in: [src/model/chain/builder.ts:307](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L307)
24
-
25
- Pin the PAGE's `Date` at `iso` for this chain — what the site's own
26
- scripts read. A `.fetch()` opens no page and refuses the setup.
27
-
28
- #### Parameters
29
-
30
- | Parameter | Type |
31
- | ------ | ------ |
32
- | `iso` | `string` |
33
-
34
- #### Returns
35
-
36
- `WebsiteSpecification`
37
-
38
- ***
39
-
40
- ### fetch
41
-
42
- ```ts
43
- fetch: (path) => Promise<FetchResult>;
44
- ```
45
-
46
- Defined in: [src/model/chain/builder.ts:317](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L317)
47
-
48
- Perform one raw HTTP GET — redirects surface as 3xx results, never followed.
49
-
50
- #### Parameters
51
-
52
- | Parameter | Type |
53
- | ------ | ------ |
54
- | `path` | `string` |
55
-
56
- #### Returns
57
-
58
- `Promise`\<[`FetchResult`](../interfaces/FetchResult.md)\>
59
-
60
- ***
61
-
62
- ### headers
63
-
64
- ```ts
65
- headers: (headers) => WebsiteSpecification;
66
- ```
67
-
68
- Defined in: [src/model/chain/builder.ts:309](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L309)
69
-
70
- Set HTTP headers for the exchange (incl. User-Agent overrides). Multiple calls merge.
71
-
72
- #### Parameters
73
-
74
- | Parameter | Type |
75
- | ------ | ------ |
76
- | `headers` | `Record`\<`string`, `string`\> |
77
-
78
- #### Returns
79
-
80
- `WebsiteSpecification`
81
-
82
- ***
83
-
84
- ### intercept
85
-
86
- ```ts
87
- intercept: InterceptMethod<WebsiteSpecification>;
88
- ```
89
-
90
- Defined in: [src/model/chain/builder.ts:314](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L314)
91
-
92
- Declare the chain's backend contracts — served by the declared stub
93
- backend (requires the runner's `backend` option). Multiple calls append.
94
-
95
- ***
96
-
97
- ### visit
98
-
99
- ```ts
100
- visit: (path, scenario?) => Promise<PageResult>;
101
- ```
102
-
103
- Defined in: [src/model/chain/builder.ts:323](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L323)
104
-
105
- Render the page in the shared browser and resolve with the captured
106
- document. With a scenario, the visitor interacts first (the When) and
107
- the capture reflects the FINAL page state.
108
-
109
- #### Parameters
110
-
111
- | Parameter | Type |
112
- | ------ | ------ |
113
- | `path` | `string` |
114
- | `scenario?` | [`VisitScenario`](VisitScenario.md) |
115
-
116
- #### Returns
117
-
118
- `Promise`\<[`PageResult`](../interfaces/PageResult.md)\>
@@ -1,40 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Type Alias: WebsiteSpecificationOptions\<Services\>
3
-
4
- ```ts
5
- type WebsiteSpecificationOptions<Services> = object &
6
- | {
7
- backend?: WebsiteBackendOptions;
8
- server: ServerSpec<Services>;
9
- url?: never;
10
- }
11
- | {
12
- backend?: never;
13
- server?: never;
14
- url: string;
15
- };
16
- ```
17
-
18
- Defined in: [src/facets/website/website.specification.ts:77](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L77)
19
-
20
- Options for startWebsite \| specification.website. `server` (start
21
- the site locally) and `url` (target a running site) are mutually
22
- exclusive BY TYPE — the union makes the invalid combinations
23
- inexpressible rather than runtime-checked. `backend` requires `server`
24
- mode for the same reason: a deployed site cannot be pointed at a local
25
- stub.
26
-
27
- ## Type Declaration
28
-
29
- | Name | Type | Description | Defined in |
30
- | ------ | ------ | ------ | ------ |
31
- | `external?` | `"allow"` \| `"block"` | Cross-origin request policy for visits. Default: `'block'` with a local `server` (deterministic — analytics and CDNs never leave the machine), `'allow'` with a deployed `url`. | [src/facets/website/website.specification.ts:83](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L83) |
32
- | `root?` | `string` | Project-root override (CONVENTIONS A9): the working directory of the `server` command. Auto-discovered from the calling file when absent. | [src/facets/website/website.specification.ts:88](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L88) |
33
- | `services?` | `Services` | Named services started with the runner, before the site is: a database the site reads, a `process()` backend it calls. They are started in declaration order and stopped with the specification, and `server` may be a function of them — which is how a site is handed the URL of the API it was started beside. | [src/facets/website/website.specification.ts:96](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L96) |
34
- | `transform()?` | (`text`) => `string` | Escape hatch: normaliser applied to every compared reading of a result — the head projection and the json-ld among them — before the comparison (CONVENTIONS D6). Does NOT mutate the raw `.text` accessor. Prefer `{{token}}` placeholders in fixtures; this is for what a token cannot name, a meta a FRAMEWORK owns and the page never asked for. | [src/facets/website/website.specification.ts:104](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.specification.ts#L104) |
35
-
36
- ## Type Parameters
37
-
38
- | Type Parameter | Default type |
39
- | ------ | ------ |
40
- | `Services` *extends* [`ServiceRecord`](ServiceRecord.md) | [`ServiceRecord`](ServiceRecord.md) |
@@ -1,19 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: anthropic
3
-
4
- ```ts
5
- const anthropic: object;
6
- ```
7
-
8
- Defined in: [src/seams/anthropic/anthropic.ts:55](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L55)
9
-
10
- Anthropic API intercept helpers.
11
-
12
- ## Type Declaration
13
-
14
- | Name | Type | Description | Defined in |
15
- | ------ | ------ | ------ | ------ |
16
- | `error()` | (`status`, `message?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: return an Anthropic error. | [src/seams/anthropic/anthropic.ts:91](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L91) |
17
- | `messages()` | (`filter?`, `url?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | Request: match Messages API calls, optionally routed through a custom gateway URL. When used with a JSON fixture file, the data is returned as-is (no wrapping) because Anthropic fixtures are typically already in the Messages API response shape. **Example** `anthropic.messages() anthropic.messages({ system: /classify/ }) anthropic.messages({ user: buildPrompt() }) // string = EXACT equality anthropic.messages({ user: /classify/ }, GATEWAY)` | [src/seams/anthropic/anthropic.ts:68](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L68) |
18
- | `reply()` | (`data`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: wrap data in Anthropic messages format. | [src/seams/anthropic/anthropic.ts:86](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L86) |
19
- | `timeout()` | () => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: simulate a timeout. | [src/seams/anthropic/anthropic.ts:105](https://github.com/jterrazz/package-test/blob/main/src/seams/anthropic/anthropic.ts#L105) |
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: banner
3
-
4
- ```ts
5
- const banner: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:80](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L80)
9
-
10
- The `banner` landmark — the page header.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: button
3
-
4
- ```ts
5
- const button: ElementFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:45](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L45)
9
-
10
- A button (or element with the button role), by accessible name.
@@ -1,16 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: clock
3
-
4
- ```ts
5
- const clock: object;
6
- ```
7
-
8
- Defined in: [src/model/clock/clock.ts:62](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L62)
9
-
10
- ## Type Declaration
11
-
12
- | Name | Type | Description | Defined in |
13
- | ------ | ------ | ------ | ------ |
14
- | `advance()` | (`ms`) => `Promise`\<`void`\> | Move the pinned clock forward by `ms` — and, under [clock.run](#run), fire every callback that came due, awaiting what each of them started. Only a pinned clock moves: called with no clock taken, it says so rather than silently doing nothing to the real one. | [src/model/clock/clock.ts:70](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L70) |
15
- | `at()` | (`iso`) => `Disposable` | Pin `Date` at `iso` for the current scope. `Date` ONLY: the scheduler stays real, so a subject that awaits, renders or polls keeps running. **Example** `using _ = clock.at('2026-03-04T09:30:00Z'); expect(stampedAt()).toBe('2026-03-04T09:30:00.000Z');` | [src/model/clock/clock.ts:88](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L88) |
16
- | `run()` | (`iso?`) => `Disposable` | Take the scheduler as well as the calendar: `setTimeout`, `setInterval` and their friends queue instead of firing, and [clock.advance](#advance) is what makes them due. For a subject whose behaviour IS elapsed time — a debounce, a retry backoff, a poll — where waiting for real would be the arbitrary sleep J2 forbids. **Example** `using _ = clock.run('2026-03-04T09:30:00Z'); const pending = retrying(failsTwice); await clock.advance(5_000); await expect(pending).resolves.toBe('ok');` | [src/model/clock/clock.ts:105](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L105) |
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: complementary
3
-
4
- ```ts
5
- const complementary: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:83](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L83)
9
-
10
- The `complementary` landmark — an `<aside>`, a sidebar.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: component
3
-
4
- ```ts
5
- const component: ComponentChain;
6
- ```
7
-
8
- Defined in: [src/facets/component/component.specification.ts:21](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.specification.ts#L21)
9
-
10
- Present, typed, and refusing — every setup and the terminal action alike.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: content
3
-
4
- ```ts
5
- const content: ElementFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:57](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L57)
9
-
10
- An element containing the given text.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: contentinfo
3
-
4
- ```ts
5
- const contentinfo: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L86)
9
-
10
- The `contentinfo` landmark — the page footer.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: dialog
3
-
4
- ```ts
5
- const dialog: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:127](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L127)
9
-
10
- A modal or non-modal `<dialog>`, by accessible name. A closed one is absent.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: field
3
-
4
- ```ts
5
- const field: ElementFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:48](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L48)
9
-
10
- A form field, by label.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: form
3
-
4
- ```ts
5
- const form: LandmarkFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:89](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L89)
9
-
10
- The `form` landmark — a form carrying an accessible name.
@@ -1,10 +0,0 @@
1
- <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
- # Variable: heading
3
-
4
- ```ts
5
- const heading: ElementFactory;
6
- ```
7
-
8
- Defined in: [src/model/elements/elements.ts:51](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L51)
9
-
10
- A heading, by accessible name.