@jterrazz/test 16.0.0 → 16.1.1
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.
- package/dist/appium.adapter.js +59 -4
- package/dist/browser/index.js +203 -42
- package/dist/checker.js +305 -63
- package/dist/index.d.ts +35 -4
- package/dist/index.js +47 -24
- package/dist/oxlint.cjs +123 -28
- package/dist/oxlint.js +123 -28
- package/dist/playwright.adapter.js +88 -50
- package/dist/substring-warning.js +282 -0
- package/dist/vitest.js +91 -12
- package/docs/01-architecture.md +95 -0
- package/docs/02-developing.md +351 -0
- package/docs/03-testing.md +495 -0
- package/docs/04-operating.md +101 -0
- package/docs/05-module-tests.md +152 -0
- package/docs/06-integration.md +180 -0
- package/docs/07-component.md +246 -0
- package/docs/08-website.md +404 -0
- package/docs/09-mobile.md +270 -0
- package/docs/10-api.md +264 -0
- package/docs/11-jobs.md +157 -0
- package/docs/12-cli.md +677 -0
- package/docs/13-elements.md +248 -0
- package/docs/14-assertions.md +314 -0
- package/docs/15-tokens.md +253 -0
- package/docs/16-contracts.md +438 -0
- package/docs/17-services.md +188 -0
- package/docs/18-conventions.md +332 -0
- package/docs/19-linting.md +512 -0
- package/docs/README.md +36 -0
- package/docs/decisions/001-v9-conventions-on-three-channels.md +50 -0
- package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +49 -0
- package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +84 -0
- package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +81 -0
- package/docs/decisions/005-the-doubles-ladder-is-closed.md +86 -0
- package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +245 -0
- package/docs/decisions/007-compose-mode-leaves-the-package.md +53 -0
- package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +75 -0
- package/docs/decisions/_template.md +22 -0
- package/docs/reference/classes/Matcher.md +120 -0
- package/docs/reference/classes/ProcessHandle.md +368 -0
- package/docs/reference/functions/defineContract.md +39 -0
- package/docs/reference/functions/defineContracts.md +36 -0
- package/docs/reference/functions/disabled.md +28 -0
- package/docs/reference/functions/enabled.md +20 -0
- package/docs/reference/functions/focused.md +26 -0
- package/docs/reference/functions/mockOf.md +79 -0
- package/docs/reference/functions/postgres.md +31 -0
- package/docs/reference/functions/process.md +33 -0
- package/docs/reference/functions/redis.md +28 -0
- package/docs/reference/functions/required.md +41 -0
- package/docs/reference/functions/selected.md +26 -0
- package/docs/reference/functions/sqlite.md +33 -0
- package/docs/reference/functions/testId.md +20 -0
- package/docs/reference/functions/text.md +40 -0
- package/docs/reference/functions/valued.md +28 -0
- package/docs/reference/functions/waitUntil.md +46 -0
- package/docs/reference/functions/within.md +29 -0
- package/docs/reference/index.md +196 -0
- package/docs/reference/interfaces/BaseResult.md +87 -0
- package/docs/reference/interfaces/CallResult.md +160 -0
- package/docs/reference/interfaces/CaptureScope.md +82 -0
- package/docs/reference/interfaces/CliResult.md +253 -0
- package/docs/reference/interfaces/ContainerAccessor.md +166 -0
- package/docs/reference/interfaces/DirectoryAccessor.md +33 -0
- package/docs/reference/interfaces/FetchResult.md +180 -0
- package/docs/reference/interfaces/FilesystemAccessor.md +46 -0
- package/docs/reference/interfaces/HttpResult.md +126 -0
- package/docs/reference/interfaces/JsonAccessor.md +46 -0
- package/docs/reference/interfaces/PageResult.md +356 -0
- package/docs/reference/interfaces/RenderResult.md +72 -0
- package/docs/reference/interfaces/RenderedText.md +110 -0
- package/docs/reference/interfaces/ResponseAccessor.md +47 -0
- package/docs/reference/interfaces/ScreenResult.md +128 -0
- package/docs/reference/interfaces/TableAccessor.md +26 -0
- package/docs/reference/interfaces/TextAccessor.md +96 -0
- package/docs/reference/type-aliases/ApiHandle.md +68 -0
- package/docs/reference/type-aliases/ApiSpecification.md +213 -0
- package/docs/reference/type-aliases/ApiSpecificationOptions.md +68 -0
- package/docs/reference/type-aliases/BrowserConsoleMessage.md +30 -0
- package/docs/reference/type-aliases/BrowserLinkElement.md +50 -0
- package/docs/reference/type-aliases/BrowserMetaElement.md +40 -0
- package/docs/reference/type-aliases/BrowserOpenOptions.md +87 -0
- package/docs/reference/type-aliases/BrowserPage.md +132 -0
- package/docs/reference/type-aliases/BrowserPort.md +51 -0
- package/docs/reference/type-aliases/CliEnv.md +11 -0
- package/docs/reference/type-aliases/CliHandle.md +80 -0
- package/docs/reference/type-aliases/CliInput.md +36 -0
- package/docs/reference/type-aliases/CliOutput.md +46 -0
- package/docs/reference/type-aliases/CliPort.md +58 -0
- package/docs/reference/type-aliases/CliSpecification.md +144 -0
- package/docs/reference/type-aliases/CliSpecificationOptions.md +134 -0
- package/docs/reference/type-aliases/ComponentChain.md +156 -0
- package/docs/reference/type-aliases/ComponentScenario.md +20 -0
- package/docs/reference/type-aliases/ComponentUi.md +47 -0
- package/docs/reference/type-aliases/ComponentVisitor.md +10 -0
- package/docs/reference/type-aliases/ContainerPort.md +113 -0
- package/docs/reference/type-aliases/Contract.md +68 -0
- package/docs/reference/type-aliases/ContractInput.md +13 -0
- package/docs/reference/type-aliases/ContractRequest.md +95 -0
- package/docs/reference/type-aliases/ContractResponder.md +23 -0
- package/docs/reference/type-aliases/ContractResponse.md +78 -0
- package/docs/reference/type-aliases/ContractResponseValue.md +13 -0
- package/docs/reference/type-aliases/Contracts.md +48 -0
- package/docs/reference/type-aliases/DatabaseKeys.md +16 -0
- package/docs/reference/type-aliases/DatabasePort.md +72 -0
- package/docs/reference/type-aliases/DeviceOpenOptions.md +46 -0
- package/docs/reference/type-aliases/DevicePort.md +51 -0
- package/docs/reference/type-aliases/DeviceScreen.md +32 -0
- package/docs/reference/type-aliases/DeviceTimeouts.md +39 -0
- package/docs/reference/type-aliases/DockerSpecConfig.md +43 -0
- package/docs/reference/type-aliases/DomMount.md +21 -0
- package/docs/reference/type-aliases/ElementKind.md +27 -0
- package/docs/reference/type-aliases/ElementMatch.md +74 -0
- package/docs/reference/type-aliases/ElementOptions.md +29 -0
- package/docs/reference/type-aliases/ElementRef.md +128 -0
- package/docs/reference/type-aliases/ExecOptions.md +37 -0
- package/docs/reference/type-aliases/FileAccessor.md +54 -0
- package/docs/reference/type-aliases/HonoApp.md +31 -0
- package/docs/reference/type-aliases/HttpContractFilter.md +49 -0
- package/docs/reference/type-aliases/HttpResponseInit.md +46 -0
- package/docs/reference/type-aliases/HttpStreamInit.md +58 -0
- package/docs/reference/type-aliases/IntegrationHandle.md +46 -0
- package/docs/reference/type-aliases/IntegrationSpecification.md +111 -0
- package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +42 -0
- package/docs/reference/type-aliases/Intercept.md +19 -0
- package/docs/reference/type-aliases/InterceptOptions.md +28 -0
- package/docs/reference/type-aliases/InterceptScope.md +11 -0
- package/docs/reference/type-aliases/IsolationStrategy.md +75 -0
- package/docs/reference/type-aliases/JobHandle.md +34 -0
- package/docs/reference/type-aliases/JobsHandle.md +57 -0
- package/docs/reference/type-aliases/JobsResult.md +16 -0
- package/docs/reference/type-aliases/JobsSpecification.md +94 -0
- package/docs/reference/type-aliases/JobsSpecificationOptions.md +56 -0
- package/docs/reference/type-aliases/LandmarkKind.md +20 -0
- package/docs/reference/type-aliases/LiterateRunFlags.md +27 -0
- package/docs/reference/type-aliases/LiterateServeRegistration.md +70 -0
- package/docs/reference/type-aliases/MatchFixtureOptions.md +27 -0
- package/docs/reference/type-aliases/MatchableRequest.md +61 -0
- package/docs/reference/type-aliases/MatcherKind.md +34 -0
- package/docs/reference/type-aliases/MobileBackendOptions.md +28 -0
- package/docs/reference/type-aliases/MobileElementKind.md +14 -0
- package/docs/reference/type-aliases/MobileElementMatch.md +60 -0
- package/docs/reference/type-aliases/MobileElementRef.md +20 -0
- package/docs/reference/type-aliases/MobileHandle.md +65 -0
- package/docs/reference/type-aliases/MobileScenario.md +20 -0
- package/docs/reference/type-aliases/MobileSpecification.md +51 -0
- package/docs/reference/type-aliases/MobileSpecificationOptions.md +126 -0
- package/docs/reference/type-aliases/MobileVisitor.md +81 -0
- package/docs/reference/type-aliases/MockOfOptions.md +26 -0
- package/docs/reference/type-aliases/MockPort.md +10 -0
- package/docs/reference/type-aliases/PinnedClock.md +10 -0
- package/docs/reference/type-aliases/PostgresOptions.md +32 -0
- package/docs/reference/type-aliases/ProcessOptions.md +112 -0
- package/docs/reference/type-aliases/RedisOptions.md +20 -0
- package/docs/reference/type-aliases/RenderSubject.md +12 -0
- package/docs/reference/type-aliases/ScreenNode.md +67 -0
- package/docs/reference/type-aliases/ServerPort.md +36 -0
- package/docs/reference/type-aliases/ServerResponse.md +46 -0
- package/docs/reference/type-aliases/ServerSpec.md +21 -0
- package/docs/reference/type-aliases/ServiceHandle.md +216 -0
- package/docs/reference/type-aliases/ServiceRecord.md +12 -0
- package/docs/reference/type-aliases/SpecDocument.md +84 -0
- package/docs/reference/type-aliases/SpecEnvToken.md +21 -0
- package/docs/reference/type-aliases/SpecFileAssertion.md +27 -0
- package/docs/reference/type-aliases/SpecFixture.md +30 -0
- package/docs/reference/type-aliases/SpecKind.md +8 -0
- package/docs/reference/type-aliases/SpecRun.md +108 -0
- package/docs/reference/type-aliases/SpecServeEntry.md +40 -0
- package/docs/reference/type-aliases/SpecStream.md +32 -0
- package/docs/reference/type-aliases/SpecificationConfig.md +290 -0
- package/docs/reference/type-aliases/SqliteOptions.md +36 -0
- package/docs/reference/type-aliases/SseEvent.md +58 -0
- package/docs/reference/type-aliases/StreamBody.md +61 -0
- package/docs/reference/type-aliases/TextFilter.md +22 -0
- package/docs/reference/type-aliases/VisitScenario.md +20 -0
- package/docs/reference/type-aliases/Visitor.md +215 -0
- package/docs/reference/type-aliases/WaitUntilOptions.md +46 -0
- package/docs/reference/type-aliases/WebsiteBackendOptions.md +37 -0
- package/docs/reference/type-aliases/WebsiteHandle.md +51 -0
- package/docs/reference/type-aliases/WebsiteSpecification.md +118 -0
- package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +40 -0
- package/docs/reference/variables/anthropic.md +19 -0
- package/docs/reference/variables/banner.md +10 -0
- package/docs/reference/variables/button.md +10 -0
- package/docs/reference/variables/clock.md +16 -0
- package/docs/reference/variables/complementary.md +10 -0
- package/docs/reference/variables/component.md +10 -0
- package/docs/reference/variables/content.md +10 -0
- package/docs/reference/variables/contentinfo.md +10 -0
- package/docs/reference/variables/dialog.md +10 -0
- package/docs/reference/variables/field.md +10 -0
- package/docs/reference/variables/form.md +10 -0
- package/docs/reference/variables/heading.md +10 -0
- package/docs/reference/variables/http.md +40 -0
- package/docs/reference/variables/intercept.md +11 -0
- package/docs/reference/variables/link.md +10 -0
- package/docs/reference/variables/listitem.md +10 -0
- package/docs/reference/variables/main.md +10 -0
- package/docs/reference/variables/match.md +8 -0
- package/docs/reference/variables/navigation.md +10 -0
- package/docs/reference/variables/openai.md +21 -0
- package/docs/reference/variables/option.md +17 -0
- package/docs/reference/variables/region.md +10 -0
- package/docs/reference/variables/row.md +10 -0
- package/docs/reference/variables/search.md +10 -0
- package/docs/reference/variables/specification.md +8 -0
- package/docs/reference/variables/status.md +10 -0
- package/docs/reference/variables/table.md +10 -0
- package/package.json +3 -2
- package/dist/ambiguity.js +0 -146
|
@@ -0,0 +1,46 @@
|
|
|
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.
|
|
@@ -0,0 +1,37 @@
|
|
|
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.
|
|
@@ -0,0 +1,51 @@
|
|
|
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)
|
|
@@ -0,0 +1,118 @@
|
|
|
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)\>
|
|
@@ -0,0 +1,40 @@
|
|
|
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) |
|
|
@@ -0,0 +1,19 @@
|
|
|
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) |
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,16 @@
|
|
|
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) |
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,10 @@
|
|
|
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.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: http
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const http: object;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/contracts/http.ts:164](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L164)
|
|
9
|
+
|
|
10
|
+
Generic HTTP contract helpers for any URL. The url is absolute (string or
|
|
11
|
+
RegExp), or a PATH FORM starting with `/` — `http.get('/articles/{{uuid}}')`
|
|
12
|
+
matches that path on ANY origin, which is what an app calling its own
|
|
13
|
+
backend needs. An optional [HttpContractFilter](../type-aliases/HttpContractFilter.md) narrows matching by
|
|
14
|
+
body, headers, or query — a request that hits the URL/method but fails the
|
|
15
|
+
filter counts as unmatched (strict contracts, CONVENTIONS D7).
|
|
16
|
+
|
|
17
|
+
## Type Declaration
|
|
18
|
+
|
|
19
|
+
| Name | Type | Description | Defined in |
|
|
20
|
+
| ------ | ------ | ------ | ------ |
|
|
21
|
+
| `any()` | (`url`, `filter?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | - | [src/model/contracts/http.ts:165](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L165) |
|
|
22
|
+
| `delete()` | (`url`, `filter?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | - | [src/model/contracts/http.ts:169](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L169) |
|
|
23
|
+
| `empty()` | (`status?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: a body-less reply (204 by default). | [src/model/contracts/http.ts:190](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L190) |
|
|
24
|
+
| `error()` | (`status`, `body?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: an error status. Without a body, `{ error: 'HTTP <status>' }`. | [src/model/contracts/http.ts:195](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L195) |
|
|
25
|
+
| `get()` | (`url`, `filter?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | - | [src/model/contracts/http.ts:173](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L173) |
|
|
26
|
+
| `json()` | (`body`, `init?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: a JSON body (200 by default). | [src/model/contracts/http.ts:200](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L200) |
|
|
27
|
+
| `patch()` | (`url`, `filter?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | - | [src/model/contracts/http.ts:177](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L177) |
|
|
28
|
+
| `post()` | (`url`, `filter?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | - | [src/model/contracts/http.ts:181](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L181) |
|
|
29
|
+
| `put()` | (`url`, `filter?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | - | [src/model/contracts/http.ts:185](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L185) |
|
|
30
|
+
| `sse()` | (`events`, `init?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: a server-sent event stream — one chunk per event, framed the way an `EventSource` reads them, served as `text/event-stream`. **Example** `http.sse([{ data: { token: 'Hel' } }, { data: { token: 'lo' } }, { event: 'done', data: '' }])` | [src/model/contracts/http.ts:249](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L249) |
|
|
31
|
+
| `stream()` | (`chunks`, `init?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: a body that arrives in PIECES, written in order. A subject that reads a response as it lands — a token-by-token render, a progress bar, a reconnect on a half-read body — is specified by the chunks and their order, which a single serialised body cannot state. Honoured by all three engines: msw's server, msw's worker, and the `node:http` stub the website and mobile facets serve from. **Example** `http.stream(['Hel', 'lo, ', 'world'], { contentType: 'text/plain', delay: 10 })` | [src/model/contracts/http.ts:229](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L229) |
|
|
32
|
+
| `text()` | (`body`, `init?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: a text body, served as `text/plain` (200 by default). | [src/model/contracts/http.ts:263](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L263) |
|
|
33
|
+
| `unreachable()` | () => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: no response at all — the request fails in transport, the way a server that is not running fails it. `fetch` rejects; no status is served. | [src/model/contracts/http.ts:213](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/http.ts#L213) |
|
|
34
|
+
|
|
35
|
+
## Example
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
defineContract({ request: http.get('/articles/{{uuid}}'), response: http.json(article) })
|
|
39
|
+
defineContract({ request: http.post(URL, { body: { user: 'alice' } }), response: http.empty() })
|
|
40
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: intercept
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const intercept: Intercept;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/index.ts:16](https://github.com/jterrazz/package-test/blob/main/src/index.ts#L16)
|
|
9
|
+
|
|
10
|
+
The module-scope network double, on msw's node server — what a test with no
|
|
11
|
+
chain to hang contracts on reaches for (chapter 16).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: link
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const link: ElementFactory;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/elements/elements.ts:54](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L54)
|
|
9
|
+
|
|
10
|
+
A link, by accessible name.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: listitem
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const listitem: LandmarkFactory;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/elements/elements.ts:139](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L139)
|
|
9
|
+
|
|
10
|
+
An item of a list, by its text. Retires the `.first()` of an unnamed `<li>`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: main
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const main: LandmarkFactory;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/elements/elements.ts:92](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L92)
|
|
9
|
+
|
|
10
|
+
The `main` landmark — the primary content of the document.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: navigation
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const navigation: LandmarkFactory;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/elements/elements.ts:95](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L95)
|
|
9
|
+
|
|
10
|
+
The `navigation` landmark — a `<nav>`. Name it when a page has several.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: openai
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const openai: object;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/seams/openai/openai.ts:128](https://github.com/jterrazz/package-test/blob/main/src/seams/openai/openai.ts#L128)
|
|
9
|
+
|
|
10
|
+
OpenAI API intercept helpers.
|
|
11
|
+
|
|
12
|
+
## Type Declaration
|
|
13
|
+
|
|
14
|
+
| Name | Type | Description | Defined in |
|
|
15
|
+
| ------ | ------ | ------ | ------ |
|
|
16
|
+
| `chat()` | (`filter?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | Request: match Chat Completions API calls. STRING filters mean EXACT equality (pass the app's own prompt builder); loosen deliberately with a RegExp or `match.includes(...)`. **Example** `openai.chat() // any chat call openai.chat({ model: 'gpt-4o' }) // exact model openai.chat({ system: buildPrompt() }) // exact system prompt openai.chat({ system: /classify/ }) // pattern` | [src/seams/openai/openai.ts:140](https://github.com/jterrazz/package-test/blob/main/src/seams/openai/openai.ts#L140) |
|
|
17
|
+
| `error()` | (`status`, `message?`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: return an OpenAI error. | [src/seams/openai/openai.ts:183](https://github.com/jterrazz/package-test/blob/main/src/seams/openai/openai.ts#L183) |
|
|
18
|
+
| `malformed()` | (`content`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: return malformed content. | [src/seams/openai/openai.ts:197](https://github.com/jterrazz/package-test/blob/main/src/seams/openai/openai.ts#L197) |
|
|
19
|
+
| `reply()` | (`data`) => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: wrap data in Chat Completions format. **Example** `openai.reply({ categories: ['TECH'] })` | [src/seams/openai/openai.ts:178](https://github.com/jterrazz/package-test/blob/main/src/seams/openai/openai.ts#L178) |
|
|
20
|
+
| `responses()` | (`filter?`, `url?`) => [`ContractRequest`](../type-aliases/ContractRequest.md) | Request: match Responses API calls (AI SDK v5+) with auto-wrapping. String filters mean EXACT equality (see [openai.chat](#chat)). When used with a JSON file, the data is automatically wrapped in the Responses API envelope. **Example** `openai.responses({ user: /Report Ingestion/ }, GATEWAY)` | [src/seams/openai/openai.ts:162](https://github.com/jterrazz/package-test/blob/main/src/seams/openai/openai.ts#L162) |
|
|
21
|
+
| `timeout()` | () => [`ContractResponse`](../type-aliases/ContractResponse.md) | Response: simulate a timeout. | [src/seams/openai/openai.ts:202](https://github.com/jterrazz/package-test/blob/main/src/seams/openai/openai.ts#L202) |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: option
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const option: ElementFactory;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/elements/elements.ts:151](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L151)
|
|
9
|
+
|
|
10
|
+
An option of a select or a listbox, by its label — named inside the field
|
|
11
|
+
that holds it: `within(field('Channel'), option('LinkedIn'))`.
|
|
12
|
+
|
|
13
|
+
Asserted by PRESENCE, not by visibility: the options of a collapsed
|
|
14
|
+
`<select>` are in the document and in the accessibility tree, and none of
|
|
15
|
+
them has a box on the screen until it is opened. `see(option('LinkedIn'))`
|
|
16
|
+
therefore asks "is it offered", and `see(selected(option('LinkedIn')))`
|
|
17
|
+
asks which one the field is on.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: region
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const region: LandmarkFactory;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/elements/elements.ts:98](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L98)
|
|
9
|
+
|
|
10
|
+
The `region` landmark — a `<section>` carrying an accessible name.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: row
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const row: LandmarkFactory;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/elements/elements.ts:136](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L136)
|
|
9
|
+
|
|
10
|
+
A row of a table or grid, by the text of its cells.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Variable: search
|
|
3
|
+
|
|
4
|
+
```ts
|
|
5
|
+
const search: LandmarkFactory;
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
Defined in: [src/model/elements/elements.ts:101](https://github.com/jterrazz/package-test/blob/main/src/model/elements/elements.ts#L101)
|
|
9
|
+
|
|
10
|
+
The `search` landmark.
|