@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.
- package/README.md +45 -171
- package/dist/browser/index.js +2 -2867
- package/dist/browser/services.js +2 -0
- package/dist/browser/stubs.js +2 -0
- package/dist/checker.d.ts +6 -1
- package/dist/checker.js +4551 -2612
- package/dist/config.d.ts +40 -0
- package/dist/config.js +309 -0
- package/dist/in-place.global-setup.d.ts +11 -0
- package/dist/in-place.global-setup.js +21 -0
- package/dist/index.d.ts +1653 -3002
- package/dist/index.js +5226 -3845
- package/dist/mobile-session.global-setup.d.ts +14 -0
- package/dist/mobile-session.global-setup.js +31 -0
- package/dist/oxlint.cjs +6073 -5616
- package/dist/oxlint.d.cts +43 -7212
- package/dist/oxlint.d.ts +43 -7212
- package/dist/oxlint.js +6065 -5609
- package/dist/route-coverage.global-setup.d.ts +42 -0
- package/dist/route-coverage.global-setup.js +2 -0
- package/dist/services.d.ts +3 -0
- package/dist/services.global-setup.d.ts +43 -0
- package/dist/services.global-setup.js +2 -0
- package/dist/services.js +597 -0
- package/dist/shared-appium.adapter.js +428 -0
- package/dist/shared-artifacts.js +32 -0
- package/dist/shared-chapter.js +7 -0
- package/dist/shared-container.port.d.ts +31 -0
- package/dist/shared-derived-projects.js +58 -0
- package/dist/shared-device.port.d.ts +189 -0
- package/dist/shared-exchange.js +447 -0
- package/dist/shared-in-place.js +172 -0
- package/dist/shared-index.browser.js +3191 -0
- package/dist/shared-index.services.d.ts +346 -0
- package/dist/shared-index.stubs.d.ts +287 -0
- package/dist/shared-json-shape.js +17 -0
- package/dist/shared-landmarks.js +71 -0
- package/dist/shared-ledger.js +68 -0
- package/dist/shared-literate-plugin.js +183 -0
- package/dist/shared-manifest.js +1321 -0
- package/dist/shared-pause.js +11 -0
- package/dist/shared-peer.js +88 -0
- package/dist/shared-playwright.adapter.js +330 -0
- package/dist/shared-process.adapter.js +74 -0
- package/dist/shared-refusal.js +35 -0
- package/dist/shared-resolve.js +24 -0
- package/dist/shared-route-coverage.global-setup.js +187 -0
- package/dist/shared-scenario-failure.js +198 -0
- package/dist/shared-serve.js +365 -0
- package/dist/shared-service-images.js +10 -0
- package/dist/shared-services.global-setup.js +179 -0
- package/dist/shared-session-ledger.js +301 -0
- package/dist/shared-setup-entry.js +12 -0
- package/dist/shared-source-scan.js +133 -0
- package/dist/shared-spec-document.js +365 -0
- package/dist/shared-specifications.js +26 -0
- package/dist/shared-stream-body.js +130 -0
- package/dist/shared-stub-server.js +190 -0
- package/dist/shared-temp-root.global-setup.js +80 -0
- package/dist/shared-test-baseline.js +26 -0
- package/dist/shared-test-section.js +58 -0
- package/dist/shared-testcontainers.adapter.js +203 -0
- package/dist/shared-tokens.js +55 -0
- package/dist/shared-yaml-document.js +119 -0
- package/dist/stubs.d.ts +2 -0
- package/dist/stubs.js +657 -0
- package/dist/temp-root.global-setup.d.ts +7 -0
- package/dist/temp-root.global-setup.js +2 -0
- package/dist/vitest.d.ts +97 -163
- package/dist/vitest.js +374 -507
- package/docs/README.md +82 -36
- package/docs/concepts/architecture.md +118 -0
- package/docs/concepts/conventions.md +333 -0
- package/docs/guides/api-specs.md +374 -0
- package/docs/guides/cli-specs.md +564 -0
- package/docs/guides/component-specs.md +252 -0
- package/docs/guides/develop.md +94 -0
- package/docs/guides/integration-specs.md +181 -0
- package/docs/guides/job-specs.md +180 -0
- package/docs/guides/lint-specs.md +174 -0
- package/docs/guides/mobile-specs.md +319 -0
- package/docs/guides/module-tests.md +149 -0
- package/docs/guides/release.md +43 -0
- package/docs/guides/spec-documents.md +189 -0
- package/docs/guides/website-specs.md +413 -0
- package/docs/reference/assertions.md +345 -0
- package/docs/reference/glossary.md +20 -0
- package/docs/reference/linting.md +483 -0
- package/docs/reference/services.md +236 -0
- package/docs/reference/stubs.md +498 -0
- package/docs/reference/time-and-doubles.md +137 -0
- package/docs/reference/tokens.md +258 -0
- package/docs/reference/visitor.md +221 -0
- package/docs/start/getting-started.md +187 -0
- package/docs/start/set-up-a-project.md +214 -0
- package/package.json +50 -30
- package/schema/spec.schema.json +43 -17
- package/dist/appium.adapter.js +0 -489
- package/dist/artifacts.js +0 -32
- package/dist/fixtures.js +0 -110
- package/dist/literate.js +0 -1747
- package/dist/match.js +0 -804
- package/dist/playwright.adapter.js +0 -349
- package/dist/server.js +0 -160
- package/dist/stream.js +0 -321
- package/dist/substring-warning.js +0 -244
- package/docs/01-architecture.md +0 -95
- package/docs/02-developing.md +0 -351
- package/docs/03-testing.md +0 -495
- package/docs/04-operating.md +0 -101
- package/docs/05-module-tests.md +0 -152
- package/docs/06-integration.md +0 -180
- package/docs/07-component.md +0 -246
- package/docs/08-website.md +0 -404
- package/docs/09-mobile.md +0 -270
- package/docs/10-api.md +0 -264
- package/docs/11-jobs.md +0 -157
- package/docs/12-cli.md +0 -677
- package/docs/13-elements.md +0 -242
- package/docs/14-assertions.md +0 -314
- package/docs/15-tokens.md +0 -253
- package/docs/16-contracts.md +0 -438
- package/docs/17-services.md +0 -188
- package/docs/18-conventions.md +0 -305
- package/docs/19-linting.md +0 -510
- package/docs/decisions/001-v9-conventions-on-three-channels.md +0 -50
- package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +0 -49
- package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +0 -84
- package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +0 -81
- package/docs/decisions/005-the-doubles-ladder-is-closed.md +0 -86
- package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +0 -245
- package/docs/decisions/007-compose-mode-leaves-the-package.md +0 -53
- package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +0 -75
- package/docs/decisions/_template.md +0 -22
- package/docs/reference/classes/Matcher.md +0 -120
- package/docs/reference/classes/ProcessHandle.md +0 -368
- package/docs/reference/functions/defineContract.md +0 -39
- package/docs/reference/functions/defineContracts.md +0 -36
- package/docs/reference/functions/disabled.md +0 -28
- package/docs/reference/functions/enabled.md +0 -20
- package/docs/reference/functions/focused.md +0 -26
- package/docs/reference/functions/mockOf.md +0 -79
- package/docs/reference/functions/postgres.md +0 -31
- package/docs/reference/functions/process.md +0 -33
- package/docs/reference/functions/redis.md +0 -28
- package/docs/reference/functions/required.md +0 -41
- package/docs/reference/functions/selected.md +0 -26
- package/docs/reference/functions/sqlite.md +0 -33
- package/docs/reference/functions/testId.md +0 -20
- package/docs/reference/functions/text.md +0 -40
- package/docs/reference/functions/valued.md +0 -28
- package/docs/reference/functions/waitUntil.md +0 -46
- package/docs/reference/functions/within.md +0 -29
- package/docs/reference/index.md +0 -196
- package/docs/reference/interfaces/BaseResult.md +0 -87
- package/docs/reference/interfaces/CallResult.md +0 -160
- package/docs/reference/interfaces/CaptureScope.md +0 -82
- package/docs/reference/interfaces/CliResult.md +0 -253
- package/docs/reference/interfaces/ContainerAccessor.md +0 -166
- package/docs/reference/interfaces/DirectoryAccessor.md +0 -33
- package/docs/reference/interfaces/FetchResult.md +0 -180
- package/docs/reference/interfaces/FilesystemAccessor.md +0 -46
- package/docs/reference/interfaces/HttpResult.md +0 -126
- package/docs/reference/interfaces/JsonAccessor.md +0 -46
- package/docs/reference/interfaces/PageResult.md +0 -356
- package/docs/reference/interfaces/RenderResult.md +0 -72
- package/docs/reference/interfaces/RenderedText.md +0 -110
- package/docs/reference/interfaces/ResponseAccessor.md +0 -47
- package/docs/reference/interfaces/ScreenResult.md +0 -128
- package/docs/reference/interfaces/TableAccessor.md +0 -26
- package/docs/reference/interfaces/TextAccessor.md +0 -96
- package/docs/reference/type-aliases/ApiHandle.md +0 -68
- package/docs/reference/type-aliases/ApiSpecification.md +0 -213
- package/docs/reference/type-aliases/ApiSpecificationOptions.md +0 -68
- package/docs/reference/type-aliases/BrowserConsoleMessage.md +0 -30
- package/docs/reference/type-aliases/BrowserLinkElement.md +0 -50
- package/docs/reference/type-aliases/BrowserMetaElement.md +0 -40
- package/docs/reference/type-aliases/BrowserOpenOptions.md +0 -87
- package/docs/reference/type-aliases/BrowserPage.md +0 -132
- package/docs/reference/type-aliases/BrowserPort.md +0 -51
- package/docs/reference/type-aliases/CliEnv.md +0 -11
- package/docs/reference/type-aliases/CliHandle.md +0 -80
- package/docs/reference/type-aliases/CliInput.md +0 -36
- package/docs/reference/type-aliases/CliOutput.md +0 -46
- package/docs/reference/type-aliases/CliPort.md +0 -58
- package/docs/reference/type-aliases/CliSpecification.md +0 -144
- package/docs/reference/type-aliases/CliSpecificationOptions.md +0 -134
- package/docs/reference/type-aliases/ComponentChain.md +0 -156
- package/docs/reference/type-aliases/ComponentScenario.md +0 -20
- package/docs/reference/type-aliases/ComponentUi.md +0 -47
- package/docs/reference/type-aliases/ComponentVisitor.md +0 -10
- package/docs/reference/type-aliases/ContainerPort.md +0 -113
- package/docs/reference/type-aliases/Contract.md +0 -68
- package/docs/reference/type-aliases/ContractInput.md +0 -13
- package/docs/reference/type-aliases/ContractRequest.md +0 -95
- package/docs/reference/type-aliases/ContractResponder.md +0 -23
- package/docs/reference/type-aliases/ContractResponse.md +0 -78
- package/docs/reference/type-aliases/ContractResponseValue.md +0 -13
- package/docs/reference/type-aliases/Contracts.md +0 -48
- package/docs/reference/type-aliases/DatabaseKeys.md +0 -16
- package/docs/reference/type-aliases/DatabasePort.md +0 -72
- package/docs/reference/type-aliases/DeviceOpenOptions.md +0 -46
- package/docs/reference/type-aliases/DevicePort.md +0 -51
- package/docs/reference/type-aliases/DeviceScreen.md +0 -32
- package/docs/reference/type-aliases/DeviceTimeouts.md +0 -39
- package/docs/reference/type-aliases/DockerSpecConfig.md +0 -43
- package/docs/reference/type-aliases/DomMount.md +0 -21
- package/docs/reference/type-aliases/ElementKind.md +0 -27
- package/docs/reference/type-aliases/ElementMatch.md +0 -74
- package/docs/reference/type-aliases/ElementOptions.md +0 -29
- package/docs/reference/type-aliases/ElementRef.md +0 -128
- package/docs/reference/type-aliases/ExecOptions.md +0 -37
- package/docs/reference/type-aliases/FileAccessor.md +0 -54
- package/docs/reference/type-aliases/HonoApp.md +0 -31
- package/docs/reference/type-aliases/HttpContractFilter.md +0 -49
- package/docs/reference/type-aliases/HttpResponseInit.md +0 -46
- package/docs/reference/type-aliases/HttpStreamInit.md +0 -58
- package/docs/reference/type-aliases/IntegrationHandle.md +0 -46
- package/docs/reference/type-aliases/IntegrationSpecification.md +0 -111
- package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +0 -42
- package/docs/reference/type-aliases/Intercept.md +0 -19
- package/docs/reference/type-aliases/InterceptOptions.md +0 -28
- package/docs/reference/type-aliases/InterceptScope.md +0 -11
- package/docs/reference/type-aliases/IsolationStrategy.md +0 -75
- package/docs/reference/type-aliases/JobHandle.md +0 -34
- package/docs/reference/type-aliases/JobsHandle.md +0 -57
- package/docs/reference/type-aliases/JobsResult.md +0 -16
- package/docs/reference/type-aliases/JobsSpecification.md +0 -94
- package/docs/reference/type-aliases/JobsSpecificationOptions.md +0 -56
- package/docs/reference/type-aliases/LandmarkKind.md +0 -20
- package/docs/reference/type-aliases/LiterateRunFlags.md +0 -27
- package/docs/reference/type-aliases/LiterateServeRegistration.md +0 -70
- package/docs/reference/type-aliases/MatchFixtureOptions.md +0 -27
- package/docs/reference/type-aliases/MatchableRequest.md +0 -61
- package/docs/reference/type-aliases/MatcherKind.md +0 -34
- package/docs/reference/type-aliases/MobileBackendOptions.md +0 -28
- package/docs/reference/type-aliases/MobileElementKind.md +0 -14
- package/docs/reference/type-aliases/MobileElementMatch.md +0 -60
- package/docs/reference/type-aliases/MobileElementRef.md +0 -20
- package/docs/reference/type-aliases/MobileHandle.md +0 -65
- package/docs/reference/type-aliases/MobileScenario.md +0 -20
- package/docs/reference/type-aliases/MobileSpecification.md +0 -51
- package/docs/reference/type-aliases/MobileSpecificationOptions.md +0 -126
- package/docs/reference/type-aliases/MobileVisitor.md +0 -81
- package/docs/reference/type-aliases/MockOfOptions.md +0 -26
- package/docs/reference/type-aliases/MockPort.md +0 -10
- package/docs/reference/type-aliases/PinnedClock.md +0 -10
- package/docs/reference/type-aliases/PostgresOptions.md +0 -32
- package/docs/reference/type-aliases/ProcessOptions.md +0 -112
- package/docs/reference/type-aliases/RedisOptions.md +0 -20
- package/docs/reference/type-aliases/RenderSubject.md +0 -12
- package/docs/reference/type-aliases/ScreenNode.md +0 -67
- package/docs/reference/type-aliases/ServerPort.md +0 -36
- package/docs/reference/type-aliases/ServerResponse.md +0 -46
- package/docs/reference/type-aliases/ServerSpec.md +0 -21
- package/docs/reference/type-aliases/ServiceHandle.md +0 -216
- package/docs/reference/type-aliases/ServiceRecord.md +0 -12
- package/docs/reference/type-aliases/SpecDocument.md +0 -84
- package/docs/reference/type-aliases/SpecEnvToken.md +0 -21
- package/docs/reference/type-aliases/SpecFileAssertion.md +0 -27
- package/docs/reference/type-aliases/SpecFixture.md +0 -30
- package/docs/reference/type-aliases/SpecKind.md +0 -8
- package/docs/reference/type-aliases/SpecRun.md +0 -108
- package/docs/reference/type-aliases/SpecServeEntry.md +0 -40
- package/docs/reference/type-aliases/SpecStream.md +0 -32
- package/docs/reference/type-aliases/SpecificationConfig.md +0 -290
- package/docs/reference/type-aliases/SqliteOptions.md +0 -36
- package/docs/reference/type-aliases/SseEvent.md +0 -58
- package/docs/reference/type-aliases/StreamBody.md +0 -61
- package/docs/reference/type-aliases/TextFilter.md +0 -22
- package/docs/reference/type-aliases/VisitScenario.md +0 -20
- package/docs/reference/type-aliases/Visitor.md +0 -215
- package/docs/reference/type-aliases/WaitUntilOptions.md +0 -46
- package/docs/reference/type-aliases/WebsiteBackendOptions.md +0 -37
- package/docs/reference/type-aliases/WebsiteHandle.md +0 -51
- package/docs/reference/type-aliases/WebsiteSpecification.md +0 -118
- package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +0 -40
- package/docs/reference/variables/anthropic.md +0 -19
- package/docs/reference/variables/banner.md +0 -10
- package/docs/reference/variables/button.md +0 -10
- package/docs/reference/variables/clock.md +0 -16
- package/docs/reference/variables/complementary.md +0 -10
- package/docs/reference/variables/component.md +0 -10
- package/docs/reference/variables/content.md +0 -10
- package/docs/reference/variables/contentinfo.md +0 -10
- package/docs/reference/variables/dialog.md +0 -10
- package/docs/reference/variables/field.md +0 -10
- package/docs/reference/variables/form.md +0 -10
- package/docs/reference/variables/heading.md +0 -10
- package/docs/reference/variables/http.md +0 -40
- package/docs/reference/variables/intercept.md +0 -11
- package/docs/reference/variables/link.md +0 -10
- package/docs/reference/variables/listitem.md +0 -10
- package/docs/reference/variables/main.md +0 -10
- package/docs/reference/variables/match.md +0 -8
- package/docs/reference/variables/navigation.md +0 -10
- package/docs/reference/variables/openai.md +0 -21
- package/docs/reference/variables/option.md +0 -17
- package/docs/reference/variables/region.md +0 -10
- package/docs/reference/variables/row.md +0 -10
- package/docs/reference/variables/search.md +0 -10
- package/docs/reference/variables/specification.md +0 -8
- package/docs/reference/variables/status.md +0 -10
- package/docs/reference/variables/table.md +0 -10
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ContractInput
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ContractInput =
|
|
6
|
-
| Contract
|
|
7
|
-
| Contract[]
|
|
8
|
-
| Contracts;
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Defined in: [src/model/contracts/contract.ts:50](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L50)
|
|
12
|
-
|
|
13
|
-
Any accepted contract input: one, a list, or a composite.
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ContractRequest
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ContractRequest = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/contracts/types.ts:26](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L26)
|
|
9
|
-
|
|
10
|
-
The request half of a contract: which outgoing call it speaks for.
|
|
11
|
-
|
|
12
|
-
`url` is either an absolute URL (string or RegExp), or a PATH FORM starting
|
|
13
|
-
with `/` (`/articles/{{uuid}}`) which matches any origin — the shape a
|
|
14
|
-
website/mobile app's own backend calls take. `{{token}}` segments compare
|
|
15
|
-
structurally, declared query params are a subset of the observed ones.
|
|
16
|
-
|
|
17
|
-
## Properties
|
|
18
|
-
|
|
19
|
-
### adapter
|
|
20
|
-
|
|
21
|
-
```ts
|
|
22
|
-
adapter: string;
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Defined in: [src/model/contracts/types.ts:28](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L28)
|
|
26
|
-
|
|
27
|
-
Adapter name — `http` | `openai` | `anthropic`.
|
|
28
|
-
|
|
29
|
-
***
|
|
30
|
-
|
|
31
|
-
### match?
|
|
32
|
-
|
|
33
|
-
```ts
|
|
34
|
-
optional match?: (request) => boolean;
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Defined in: [src/model/contracts/types.ts:34](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L34)
|
|
38
|
-
|
|
39
|
-
Optional request matcher — the contract only fires if this returns true.
|
|
40
|
-
|
|
41
|
-
#### Parameters
|
|
42
|
-
|
|
43
|
-
| Parameter | Type |
|
|
44
|
-
| ------ | ------ |
|
|
45
|
-
| `request` | [`MatchableRequest`](MatchableRequest.md) |
|
|
46
|
-
|
|
47
|
-
#### Returns
|
|
48
|
-
|
|
49
|
-
`boolean`
|
|
50
|
-
|
|
51
|
-
***
|
|
52
|
-
|
|
53
|
-
### method
|
|
54
|
-
|
|
55
|
-
```ts
|
|
56
|
-
method: string;
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Defined in: [src/model/contracts/types.ts:30](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L30)
|
|
60
|
-
|
|
61
|
-
HTTP method to match. `*` matches any method.
|
|
62
|
-
|
|
63
|
-
***
|
|
64
|
-
|
|
65
|
-
### url
|
|
66
|
-
|
|
67
|
-
```ts
|
|
68
|
-
url: RegExp | string;
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Defined in: [src/model/contracts/types.ts:32](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L32)
|
|
72
|
-
|
|
73
|
-
Absolute URL (string | RegExp) or an any-origin path form (`/articles/{{uuid}}`).
|
|
74
|
-
|
|
75
|
-
***
|
|
76
|
-
|
|
77
|
-
### wrap
|
|
78
|
-
|
|
79
|
-
```ts
|
|
80
|
-
wrap: (data) => ContractResponse;
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Defined in: [src/model/contracts/types.ts:36](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L36)
|
|
84
|
-
|
|
85
|
-
Transform raw data into a provider-specific response envelope.
|
|
86
|
-
|
|
87
|
-
#### Parameters
|
|
88
|
-
|
|
89
|
-
| Parameter | Type |
|
|
90
|
-
| ------ | ------ |
|
|
91
|
-
| `data` | `unknown` |
|
|
92
|
-
|
|
93
|
-
#### Returns
|
|
94
|
-
|
|
95
|
-
[`ContractResponse`](ContractResponse.md)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ContractResponder
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ContractResponder = (request) => ContractResponse;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/contracts/types.ts:105](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L105)
|
|
9
|
-
|
|
10
|
-
A dynamic response: computed from the observed request at the moment the
|
|
11
|
-
contract is served, rather than fixed ahead of time. Handed the same
|
|
12
|
-
[MatchableRequest](MatchableRequest.md) the request half matched on, so the reply can echo
|
|
13
|
-
or derive from the body/headers/url.
|
|
14
|
-
|
|
15
|
-
## Parameters
|
|
16
|
-
|
|
17
|
-
| Parameter | Type |
|
|
18
|
-
| ------ | ------ |
|
|
19
|
-
| `request` | [`MatchableRequest`](MatchableRequest.md) |
|
|
20
|
-
|
|
21
|
-
## Returns
|
|
22
|
-
|
|
23
|
-
[`ContractResponse`](ContractResponse.md)
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ContractResponse
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ContractResponse = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/contracts/types.ts:42](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L42)
|
|
9
|
-
|
|
10
|
-
The response half of a contract: what to reply when the request matches.
|
|
11
|
-
|
|
12
|
-
## Properties
|
|
13
|
-
|
|
14
|
-
### body
|
|
15
|
-
|
|
16
|
-
```ts
|
|
17
|
-
body: unknown;
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Defined in: [src/model/contracts/types.ts:50](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L50)
|
|
21
|
-
|
|
22
|
-
Response body — an object is JSON, a string is text, `null`/`undefined`
|
|
23
|
-
is empty, and a [StreamBody](StreamBody.md) (built by `http.stream()` /
|
|
24
|
-
`http.sse()`) arrives in pieces.
|
|
25
|
-
|
|
26
|
-
***
|
|
27
|
-
|
|
28
|
-
### delay?
|
|
29
|
-
|
|
30
|
-
```ts
|
|
31
|
-
optional delay?: number;
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Defined in: [src/model/contracts/types.ts:54](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L54)
|
|
35
|
-
|
|
36
|
-
Delay in ms before responding (for timeout testing).
|
|
37
|
-
|
|
38
|
-
***
|
|
39
|
-
|
|
40
|
-
### headers?
|
|
41
|
-
|
|
42
|
-
```ts
|
|
43
|
-
optional headers?: Record<string, string>;
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Defined in: [src/model/contracts/types.ts:52](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L52)
|
|
47
|
-
|
|
48
|
-
Response headers.
|
|
49
|
-
|
|
50
|
-
***
|
|
51
|
-
|
|
52
|
-
### status?
|
|
53
|
-
|
|
54
|
-
```ts
|
|
55
|
-
optional status?: number;
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Defined in: [src/model/contracts/types.ts:44](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L44)
|
|
59
|
-
|
|
60
|
-
HTTP status code (default: 200).
|
|
61
|
-
|
|
62
|
-
***
|
|
63
|
-
|
|
64
|
-
### transport?
|
|
65
|
-
|
|
66
|
-
```ts
|
|
67
|
-
optional transport?: "network-error";
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Defined in: [src/model/contracts/types.ts:64](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L64)
|
|
71
|
-
|
|
72
|
-
A transport failure instead of a reply: the request never reached a
|
|
73
|
-
server, so `fetch` rejects. `status`, `body` and `headers` say nothing
|
|
74
|
-
here — there is no response to carry them.
|
|
75
|
-
|
|
76
|
-
The one thing a status code cannot express. A component's "the server did
|
|
77
|
-
not answer, check that it is running" branch is reached by a rejected
|
|
78
|
-
`fetch`, and a 503 stand-in tests the other branch entirely.
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ContractResponseValue
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ContractResponseValue =
|
|
6
|
-
| ContractResponder
|
|
7
|
-
| ContractResponse;
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
Defined in: [src/model/contracts/types.ts:111](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/types.ts#L111)
|
|
11
|
-
|
|
12
|
-
What a contract replies with: either a fixed [ContractResponse](ContractResponse.md) or a
|
|
13
|
-
[ContractResponder](ContractResponder.md) evaluated per served request.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: Contracts
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type Contracts = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/contracts/contract.ts:37](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L37)
|
|
9
|
-
|
|
10
|
-
A composite of contracts — the unit tests import. Flat, ordered, immutable;
|
|
11
|
-
`.with()` derives a variant without touching the original.
|
|
12
|
-
|
|
13
|
-
## Properties
|
|
14
|
-
|
|
15
|
-
### contracts
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
readonly contracts: readonly Contract[];
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Defined in: [src/model/contracts/contract.ts:39](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L39)
|
|
22
|
-
|
|
23
|
-
The flattened contracts, in selection order.
|
|
24
|
-
|
|
25
|
-
***
|
|
26
|
-
|
|
27
|
-
### with
|
|
28
|
-
|
|
29
|
-
```ts
|
|
30
|
-
with: (...overrides) => Contracts;
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Defined in: [src/model/contracts/contract.ts:46](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L46)
|
|
34
|
-
|
|
35
|
-
Derive a new composite: every base contract sharing a route with an
|
|
36
|
-
override is REPLACED, and the overrides are PREPENDED — so a
|
|
37
|
-
more-specific override wins first-match selection over a generic base
|
|
38
|
-
route it does not replace.
|
|
39
|
-
|
|
40
|
-
#### Parameters
|
|
41
|
-
|
|
42
|
-
| Parameter | Type |
|
|
43
|
-
| ------ | ------ |
|
|
44
|
-
| ...`overrides` | ([`Contract`](Contract.md) \| [`Contract`](Contract.md)[] \| `Contracts`)[] |
|
|
45
|
-
|
|
46
|
-
#### Returns
|
|
47
|
-
|
|
48
|
-
`Contracts`
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: DatabaseKeys\<Services\>
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type DatabaseKeys<Services> = { [K in keyof Services]: Services[K] extends DatabasePort ? K & string : never }[keyof Services];
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/chain/services.ts:19](https://github.com/jterrazz/package-test/blob/main/src/model/chain/services.ts#L19)
|
|
9
|
-
|
|
10
|
-
Keys of a services record whose handles are databases.
|
|
11
|
-
|
|
12
|
-
## Type Parameters
|
|
13
|
-
|
|
14
|
-
| Type Parameter |
|
|
15
|
-
| ------ |
|
|
16
|
-
| `Services` *extends* [`ServiceRecord`](ServiceRecord.md) |
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: DatabasePort
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type DatabasePort = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/database.port.ts:5](https://github.com/jterrazz/package-test/blob/main/src/model/ports/database.port.ts#L5)
|
|
9
|
-
|
|
10
|
-
Abstract database interface for specification runners.
|
|
11
|
-
Implement this to plug in your database stack (e.g. Postgres, SQLite).
|
|
12
|
-
|
|
13
|
-
## Properties
|
|
14
|
-
|
|
15
|
-
### query
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
query: (table, columns) => Promise<unknown[][]>;
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Defined in: [src/model/ports/database.port.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/ports/database.port.ts#L10)
|
|
22
|
-
|
|
23
|
-
Query a table and return rows as arrays of values.
|
|
24
|
-
|
|
25
|
-
#### Parameters
|
|
26
|
-
|
|
27
|
-
| Parameter | Type |
|
|
28
|
-
| ------ | ------ |
|
|
29
|
-
| `table` | `string` |
|
|
30
|
-
| `columns` | `string`[] |
|
|
31
|
-
|
|
32
|
-
#### Returns
|
|
33
|
-
|
|
34
|
-
`Promise`\<`unknown`[][]\>
|
|
35
|
-
|
|
36
|
-
***
|
|
37
|
-
|
|
38
|
-
### reset
|
|
39
|
-
|
|
40
|
-
```ts
|
|
41
|
-
reset: () => Promise<void>;
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Defined in: [src/model/ports/database.port.ts:13](https://github.com/jterrazz/package-test/blob/main/src/model/ports/database.port.ts#L13)
|
|
45
|
-
|
|
46
|
-
Reset database to clean state between tests.
|
|
47
|
-
|
|
48
|
-
#### Returns
|
|
49
|
-
|
|
50
|
-
`Promise`\<`void`\>
|
|
51
|
-
|
|
52
|
-
***
|
|
53
|
-
|
|
54
|
-
### seed
|
|
55
|
-
|
|
56
|
-
```ts
|
|
57
|
-
seed: (sql) => Promise<void>;
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Defined in: [src/model/ports/database.port.ts:7](https://github.com/jterrazz/package-test/blob/main/src/model/ports/database.port.ts#L7)
|
|
61
|
-
|
|
62
|
-
Execute raw SQL (for seeding test data).
|
|
63
|
-
|
|
64
|
-
#### Parameters
|
|
65
|
-
|
|
66
|
-
| Parameter | Type |
|
|
67
|
-
| ------ | ------ |
|
|
68
|
-
| `sql` | `string` |
|
|
69
|
-
|
|
70
|
-
#### Returns
|
|
71
|
-
|
|
72
|
-
`Promise`\<`void`\>
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: DeviceOpenOptions
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type DeviceOpenOptions = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:89](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L89)
|
|
9
|
-
|
|
10
|
-
Per-open options forwarded to the device session.
|
|
11
|
-
|
|
12
|
-
## Properties
|
|
13
|
-
|
|
14
|
-
### bundleId
|
|
15
|
-
|
|
16
|
-
```ts
|
|
17
|
-
bundleId: string;
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Defined in: [src/model/ports/device.port.ts:91](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L91)
|
|
21
|
-
|
|
22
|
-
The app under test — terminated and relaunched for a fresh, deterministic state.
|
|
23
|
-
|
|
24
|
-
***
|
|
25
|
-
|
|
26
|
-
### deepLink?
|
|
27
|
-
|
|
28
|
-
```ts
|
|
29
|
-
optional deepLink?: string;
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Defined in: [src/model/ports/device.port.ts:93](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L93)
|
|
33
|
-
|
|
34
|
-
Deep link applied after the relaunch (`news://events`); absent opens the app plainly.
|
|
35
|
-
|
|
36
|
-
***
|
|
37
|
-
|
|
38
|
-
### scenario?
|
|
39
|
-
|
|
40
|
-
```ts
|
|
41
|
-
optional scenario?: MobileScenario;
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Defined in: [src/model/ports/device.port.ts:95](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L95)
|
|
45
|
-
|
|
46
|
-
The interaction scenario to run after launch; the capture reflects the final state.
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: DevicePort
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type DevicePort = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:123](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L123)
|
|
9
|
-
|
|
10
|
-
Abstract device interface for the mobile specification runner.
|
|
11
|
-
One implementation lives in `integrations/appium/` — a single driver
|
|
12
|
-
session per runner, created on the first `open()` and reused; each open
|
|
13
|
-
terminates and relaunches the app for a deterministic fresh state.
|
|
14
|
-
|
|
15
|
-
## Properties
|
|
16
|
-
|
|
17
|
-
### close
|
|
18
|
-
|
|
19
|
-
```ts
|
|
20
|
-
close: () => Promise<void>;
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Defined in: [src/model/ports/device.port.ts:125](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L125)
|
|
24
|
-
|
|
25
|
-
End the driver session (idempotent).
|
|
26
|
-
|
|
27
|
-
#### Returns
|
|
28
|
-
|
|
29
|
-
`Promise`\<`void`\>
|
|
30
|
-
|
|
31
|
-
***
|
|
32
|
-
|
|
33
|
-
### open
|
|
34
|
-
|
|
35
|
-
```ts
|
|
36
|
-
open: (options) => Promise<DeviceScreen>;
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Defined in: [src/model/ports/device.port.ts:127](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L127)
|
|
40
|
-
|
|
41
|
-
Relaunch the app, apply the deep link, run the scenario, capture the final screen.
|
|
42
|
-
|
|
43
|
-
#### Parameters
|
|
44
|
-
|
|
45
|
-
| Parameter | Type |
|
|
46
|
-
| ------ | ------ |
|
|
47
|
-
| `options` | [`DeviceOpenOptions`](DeviceOpenOptions.md) |
|
|
48
|
-
|
|
49
|
-
#### Returns
|
|
50
|
-
|
|
51
|
-
`Promise`\<[`DeviceScreen`](DeviceScreen.md)\>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: DeviceScreen
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type DeviceScreen = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:83](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L83)
|
|
9
|
-
|
|
10
|
-
The screen captured by a device open — the FINAL state when a scenario
|
|
11
|
-
ran. The tree is the projected page source; `texts` are the visible
|
|
12
|
-
labels/values in document order, consecutive duplicates collapsed.
|
|
13
|
-
|
|
14
|
-
## Properties
|
|
15
|
-
|
|
16
|
-
### texts
|
|
17
|
-
|
|
18
|
-
```ts
|
|
19
|
-
texts: string[];
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Defined in: [src/model/ports/device.port.ts:84](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L84)
|
|
23
|
-
|
|
24
|
-
***
|
|
25
|
-
|
|
26
|
-
### tree
|
|
27
|
-
|
|
28
|
-
```ts
|
|
29
|
-
tree: ScreenNode;
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Defined in: [src/model/ports/device.port.ts:85](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L85)
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: DeviceTimeouts
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type DeviceTimeouts = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:104](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L104)
|
|
9
|
-
|
|
10
|
-
How long a device session waits, in milliseconds. Every field is optional
|
|
11
|
-
and falls back to the framework's own default, so a runner states only the
|
|
12
|
-
wait it needs to move — the defaults suit a release build, and a project
|
|
13
|
-
that drives a DEV build pays for its bundler's cold boot.
|
|
14
|
-
|
|
15
|
-
## Properties
|
|
16
|
-
|
|
17
|
-
### action?
|
|
18
|
-
|
|
19
|
-
```ts
|
|
20
|
-
optional action?: number;
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Defined in: [src/model/ports/device.port.ts:109](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L109)
|
|
24
|
-
|
|
25
|
-
How long every verb polls for a visible match before refusing.
|
|
26
|
-
Default: `30_000` — enough for a cold app boot on a release bundle.
|
|
27
|
-
|
|
28
|
-
***
|
|
29
|
-
|
|
30
|
-
### launch?
|
|
31
|
-
|
|
32
|
-
```ts
|
|
33
|
-
optional launch?: number;
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Defined in: [src/model/ports/device.port.ts:114](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L114)
|
|
37
|
-
|
|
38
|
-
How long the FIRST session waits for WebDriverAgent to build and
|
|
39
|
-
launch on the simulator. Default: `240_000`.
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: DockerSpecConfig
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type DockerSpecConfig = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/chain/builder.ts:47](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L47)
|
|
9
|
-
|
|
10
|
-
Configuration for the docker-aware cli mode. When set on
|
|
11
|
-
[SpecificationConfig](SpecificationConfig.md), the cli runner generates a test-run id, injects
|
|
12
|
-
it into the child env under `envVar`, then queries Docker for every
|
|
13
|
-
container carrying `testRunLabel=<id>` after the command exits.
|
|
14
|
-
|
|
15
|
-
## Properties
|
|
16
|
-
|
|
17
|
-
### envVar
|
|
18
|
-
|
|
19
|
-
```ts
|
|
20
|
-
envVar: string;
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Defined in: [src/model/chain/builder.ts:48](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L48)
|
|
24
|
-
|
|
25
|
-
***
|
|
26
|
-
|
|
27
|
-
### nameLabel
|
|
28
|
-
|
|
29
|
-
```ts
|
|
30
|
-
nameLabel: string;
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Defined in: [src/model/chain/builder.ts:49](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L49)
|
|
34
|
-
|
|
35
|
-
***
|
|
36
|
-
|
|
37
|
-
### testRunLabel
|
|
38
|
-
|
|
39
|
-
```ts
|
|
40
|
-
testRunLabel: string;
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Defined in: [src/model/chain/builder.ts:50](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L50)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: DomMount
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type DomMount = (container) => (() => void) | void;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/seams/vitest-browser/ui.ts:18](https://github.com/jterrazz/package-test/blob/main/src/seams/vitest-browser/ui.ts#L18)
|
|
9
|
-
|
|
10
|
-
A vanilla DOM subject: a function handed the container it must fill. Its
|
|
11
|
-
optional return is the teardown, the way a DOM library states one.
|
|
12
|
-
|
|
13
|
-
## Parameters
|
|
14
|
-
|
|
15
|
-
| Parameter | Type |
|
|
16
|
-
| ------ | ------ |
|
|
17
|
-
| `container` | `HTMLElement` |
|
|
18
|
-
|
|
19
|
-
## Returns
|
|
20
|
-
|
|
21
|
-
(() => `void`) \| `void`
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ElementKind
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ElementKind =
|
|
6
|
-
| "button"
|
|
7
|
-
| "dialog"
|
|
8
|
-
| "field"
|
|
9
|
-
| "heading"
|
|
10
|
-
| "link"
|
|
11
|
-
| "listitem"
|
|
12
|
-
| "option"
|
|
13
|
-
| "row"
|
|
14
|
-
| "status"
|
|
15
|
-
| "table"
|
|
16
|
-
| "testId"
|
|
17
|
-
| "text";
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Defined in: [src/model/ports/browser.port.ts:24](https://github.com/jterrazz/package-test/blob/main/src/model/ports/browser.port.ts#L24)
|
|
21
|
-
|
|
22
|
-
The interactive/textual element kinds — what a visitor actually acts on.
|
|
23
|
-
|
|
24
|
-
`dialog`, `status`, `table`, `row`, `listitem` and `option` are ARIA roles
|
|
25
|
-
like the landmarks, but they are not CONTAINERS of a page: they are things a
|
|
26
|
-
visitor reads and acts on, and they are the roles the estate's UI specs were
|
|
27
|
-
already reaching for through `getByRole` or, worse, through `.first()`.
|