@jterrazz/test 16.1.1 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -171
- package/dist/browser/index.js +1 -2980
- package/dist/browser/services.js +1 -0
- package/dist/browser/stubs.js +1 -0
- package/dist/browser-shared-index.browser.js +3233 -0
- package/dist/checker.d.ts +6 -1
- package/dist/checker.js +3721 -2624
- package/dist/config.d.ts +40 -0
- package/dist/config.js +309 -0
- package/dist/in-place.global-setup.d.ts +12 -0
- package/dist/in-place.global-setup.js +21 -0
- package/dist/index.d.ts +1641 -3004
- package/dist/index.js +5095 -3835
- package/dist/mobile-session.global-setup.d.ts +15 -0
- package/dist/mobile-session.global-setup.js +31 -0
- package/dist/oxlint.cjs +6069 -5634
- package/dist/oxlint.d.cts +43 -7212
- package/dist/oxlint.d.ts +43 -7212
- package/dist/oxlint.js +3979 -5799
- package/dist/route-coverage.global-setup.d.ts +43 -0
- package/dist/route-coverage.global-setup.js +1 -0
- package/dist/services.d.ts +3 -0
- package/dist/services.global-setup.d.ts +43 -0
- package/dist/services.global-setup.js +1 -0
- package/dist/services.js +597 -0
- package/dist/shared-appium.adapter.js +428 -0
- package/dist/shared-artifacts.js +34 -0
- package/dist/shared-chapter.js +7 -0
- package/dist/shared-container.port.d.ts +31 -0
- package/dist/shared-derived-projects.js +73 -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.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-listened-port.js +19 -0
- package/dist/shared-literate-plugin.js +184 -0
- package/dist/shared-manifest.js +1321 -0
- package/dist/shared-pause.js +22 -0
- package/dist/shared-peer.js +88 -0
- package/dist/shared-playwright.adapter.js +328 -0
- package/dist/shared-process-alive.js +13 -0
- package/dist/shared-process.adapter.js +74 -0
- package/dist/shared-record-key.js +13 -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 +407 -0
- package/dist/shared-service-images.js +10 -0
- package/dist/shared-services.global-setup.js +174 -0
- package/dist/shared-session-ledger.js +305 -0
- package/dist/shared-setup-entry.js +12 -0
- package/dist/shared-source-scan.js +133 -0
- package/dist/shared-spec-document.js +303 -0
- package/dist/shared-spec-grammar.js +66 -0
- package/dist/shared-specifications.js +26 -0
- package/dist/shared-specs-modules.js +1033 -0
- package/dist/shared-stub-reply.js +167 -0
- package/dist/shared-stub-server.js +142 -0
- package/dist/shared-temp-root.global-setup.js +73 -0
- package/dist/shared-test-baseline.js +26 -0
- package/dist/shared-test-section.js +58 -0
- package/dist/shared-testcontainers.adapter.js +306 -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 +1 -0
- package/dist/vitest.d.ts +93 -164
- package/dist/vitest.js +382 -550
- 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 +566 -0
- package/docs/guides/component-specs.md +252 -0
- package/docs/guides/develop.md +97 -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 +44 -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 +500 -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 +228 -0
- package/package.json +56 -36
- 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 -438
- package/dist/server.js +0 -160
- package/dist/stream.js +0 -321
- package/dist/substring-warning.js +0 -282
- 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 -248
- 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 -332
- package/docs/19-linting.md +0 -512
- 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,144 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: CliSpecification\<DatabaseKey\>
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type CliSpecification<DatabaseKey> = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/chain/builder.ts:264](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L264)
|
|
9
|
-
|
|
10
|
-
The `cli` facet — command chain entry handed out by `specification.cli()`.
|
|
11
|
-
Setup methods chain; `.exec()` is the single terminal action (CONVENTIONS
|
|
12
|
-
B2) — `{ waitFor?, timeout? }` covers long-running processes.
|
|
13
|
-
|
|
14
|
-
## Type Parameters
|
|
15
|
-
|
|
16
|
-
| Type Parameter | Default type |
|
|
17
|
-
| ------ | ------ |
|
|
18
|
-
| `DatabaseKey` *extends* `string` | `string` |
|
|
19
|
-
|
|
20
|
-
## Properties
|
|
21
|
-
|
|
22
|
-
### env
|
|
23
|
-
|
|
24
|
-
```ts
|
|
25
|
-
env: (env) => CliSpecification<DatabaseKey>;
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Defined in: [src/model/chain/builder.ts:266](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L266)
|
|
29
|
-
|
|
30
|
-
Set environment variables on the child process. `$WORKDIR` expands; `null` unsets.
|
|
31
|
-
|
|
32
|
-
#### Parameters
|
|
33
|
-
|
|
34
|
-
| Parameter | Type |
|
|
35
|
-
| ------ | ------ |
|
|
36
|
-
| `env` | [`CliEnv`](CliEnv.md) |
|
|
37
|
-
|
|
38
|
-
#### Returns
|
|
39
|
-
|
|
40
|
-
`CliSpecification`\<`DatabaseKey`\>
|
|
41
|
-
|
|
42
|
-
***
|
|
43
|
-
|
|
44
|
-
### exec
|
|
45
|
-
|
|
46
|
-
```ts
|
|
47
|
-
exec: (args?, options?) => Promise<CliResult>;
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Defined in: [src/model/chain/builder.ts:285](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L285)
|
|
51
|
-
|
|
52
|
-
Execute the command (or sequence of commands) and resolve with the
|
|
53
|
-
result. Called with no arguments (`cli.exec()`), the binary runs bare —
|
|
54
|
-
no CLI arguments. With `{ waitFor, timeout }`, the process is
|
|
55
|
-
long-running: it resolves when the pattern appears and is killed at the
|
|
56
|
-
timeout.
|
|
57
|
-
|
|
58
|
-
#### Parameters
|
|
59
|
-
|
|
60
|
-
| Parameter | Type |
|
|
61
|
-
| ------ | ------ |
|
|
62
|
-
| `args?` | `string` \| `string`[] |
|
|
63
|
-
| `options?` | [`ExecOptions`](ExecOptions.md) |
|
|
64
|
-
|
|
65
|
-
#### Returns
|
|
66
|
-
|
|
67
|
-
`Promise`\<[`CliResult`](../interfaces/CliResult.md)\>
|
|
68
|
-
|
|
69
|
-
***
|
|
70
|
-
|
|
71
|
-
### fixture
|
|
72
|
-
|
|
73
|
-
```ts
|
|
74
|
-
fixture: (path) => CliSpecification<DatabaseKey>;
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Defined in: [src/model/chain/builder.ts:274](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L274)
|
|
78
|
-
|
|
79
|
-
Copy a fixture into the working directory before execution. The path is
|
|
80
|
-
feature-local (`<test-dir>/fixtures/<path>`) or, with a `$FIXTURES/`
|
|
81
|
-
prefix, from the shared pool at `<specs-root>/fixtures/`. A trailing
|
|
82
|
-
slash spreads a directory's contents into the cwd; without one a
|
|
83
|
-
directory (or file) is copied under its own name. Chained calls layer.
|
|
84
|
-
|
|
85
|
-
#### Parameters
|
|
86
|
-
|
|
87
|
-
| Parameter | Type |
|
|
88
|
-
| ------ | ------ |
|
|
89
|
-
| `path` | `string` |
|
|
90
|
-
|
|
91
|
-
#### Returns
|
|
92
|
-
|
|
93
|
-
`CliSpecification`\<`DatabaseKey`\>
|
|
94
|
-
|
|
95
|
-
***
|
|
96
|
-
|
|
97
|
-
### run
|
|
98
|
-
|
|
99
|
-
```ts
|
|
100
|
-
run: (file, options?) => Promise<CliResult>;
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Defined in: [src/model/chain/builder.ts:293](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L293)
|
|
104
|
-
|
|
105
|
-
Run a `<case>.spec.yaml` document — its ground (fixtures, env sets,
|
|
106
|
-
servers) and every run, each asserted — and resolve with the LAST run's
|
|
107
|
-
result, so a `.test.ts` can add an assertion the document cannot express
|
|
108
|
-
(a directory golden, a grep). The path is relative to the test file's own
|
|
109
|
-
directory, where the document lives.
|
|
110
|
-
|
|
111
|
-
#### Parameters
|
|
112
|
-
|
|
113
|
-
| Parameter | Type |
|
|
114
|
-
| ------ | ------ |
|
|
115
|
-
| `file` | `string` |
|
|
116
|
-
| `options?` | [`LiterateRunFlags`](LiterateRunFlags.md) |
|
|
117
|
-
|
|
118
|
-
#### Returns
|
|
119
|
-
|
|
120
|
-
`Promise`\<[`CliResult`](../interfaces/CliResult.md)\>
|
|
121
|
-
|
|
122
|
-
***
|
|
123
|
-
|
|
124
|
-
### seed
|
|
125
|
-
|
|
126
|
-
```ts
|
|
127
|
-
seed: (file, options?) => CliSpecification<DatabaseKey>;
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Defined in: [src/model/chain/builder.ts:276](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L276)
|
|
131
|
-
|
|
132
|
-
Queue a SQL seed file from `_seeds/` to run against a database before the action.
|
|
133
|
-
|
|
134
|
-
#### Parameters
|
|
135
|
-
|
|
136
|
-
| Parameter | Type |
|
|
137
|
-
| ------ | ------ |
|
|
138
|
-
| `file` | `string` |
|
|
139
|
-
| `options?` | \{ `database?`: `DatabaseKey`; \} |
|
|
140
|
-
| `options.database?` | `DatabaseKey` |
|
|
141
|
-
|
|
142
|
-
#### Returns
|
|
143
|
-
|
|
144
|
-
`CliSpecification`\<`DatabaseKey`\>
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: CliSpecificationOptions\<Services\>
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type CliSpecificationOptions<Services> = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/facets/cli/cli.specification.ts:23](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L23)
|
|
9
|
-
|
|
10
|
-
Options for startCli \| specification.cli.
|
|
11
|
-
|
|
12
|
-
## Type Parameters
|
|
13
|
-
|
|
14
|
-
| Type Parameter | Default type |
|
|
15
|
-
| ------ | ------ |
|
|
16
|
-
| `Services` *extends* [`ServiceRecord`](ServiceRecord.md) | [`ServiceRecord`](ServiceRecord.md) |
|
|
17
|
-
|
|
18
|
-
## Properties
|
|
19
|
-
|
|
20
|
-
### defaults?
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
optional defaults?: CliEnv;
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Defined in: [src/facets/cli/cli.specification.ts:39](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L39)
|
|
27
|
-
|
|
28
|
-
Environment applied to EVERY run of this binary — the variables the
|
|
29
|
-
product needs to be deterministic at all (`TZ`, `NO_COLOR`, `LANG`,
|
|
30
|
-
a config home under the spec's own workdir). Stated once per app
|
|
31
|
-
instead of repeated on every chain and in every document; a chained
|
|
32
|
-
`.env()` and a document's `env:` both win over it.
|
|
33
|
-
|
|
34
|
-
***
|
|
35
|
-
|
|
36
|
-
### docker?
|
|
37
|
-
|
|
38
|
-
```ts
|
|
39
|
-
optional docker?: DockerSpecConfig;
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Defined in: [src/facets/cli/cli.specification.ts:31](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L31)
|
|
43
|
-
|
|
44
|
-
Opt-in Docker awareness. When set, every spec generates a unique
|
|
45
|
-
test-run id, injects it into the child process env under `envVar`,
|
|
46
|
-
and exposes `.container(name)` accessors on the result that lazily
|
|
47
|
-
query Docker. Always declare results with `await using` so leaked
|
|
48
|
-
containers get force-removed at scope exit (CONVENTIONS B5).
|
|
49
|
-
|
|
50
|
-
***
|
|
51
|
-
|
|
52
|
-
### env?
|
|
53
|
-
|
|
54
|
-
```ts
|
|
55
|
-
optional env?: Record<string, CliEnv>;
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Defined in: [src/facets/cli/cli.specification.ts:46](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L46)
|
|
59
|
-
|
|
60
|
-
Named environment SETS for `<case>.spec.yaml` documents. An `env:` entry
|
|
61
|
-
`frozen` applies the whole `frozen` record; `$WORKDIR` expands and `null`
|
|
62
|
-
unsets, exactly as in `.env()`. Declared once per app so a document
|
|
63
|
-
states WHICH ground it stands on, not how to build it.
|
|
64
|
-
|
|
65
|
-
***
|
|
66
|
-
|
|
67
|
-
### root?
|
|
68
|
-
|
|
69
|
-
```ts
|
|
70
|
-
optional root?: string;
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
Defined in: [src/facets/cli/cli.specification.ts:61](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L61)
|
|
74
|
-
|
|
75
|
-
Project-root override (CONVENTIONS A9) — the single meaning of `root`:
|
|
76
|
-
it anchors the local-bin resolution of the tested binary, in place of
|
|
77
|
-
the walk to the nearest `package.json`. It is NOT a fixtures root;
|
|
78
|
-
`.fixture()` resolves feature-local or `$FIXTURES/` paths on its own.
|
|
79
|
-
|
|
80
|
-
***
|
|
81
|
-
|
|
82
|
-
### serve?
|
|
83
|
-
|
|
84
|
-
```ts
|
|
85
|
-
optional serve?: Record<string, LiterateServeRegistration>;
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Defined in: [src/facets/cli/cli.specification.ts:54](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L54)
|
|
89
|
-
|
|
90
|
-
Named servers a `<case>.spec.yaml` document may start (`serve: [mcp]`, or
|
|
91
|
-
`- mcp: { KEY: value }` to add env to that one). Each entry names the
|
|
92
|
-
shell `command`, the `ready` regex whose capture group holds the port the
|
|
93
|
-
server announces, the `url(port)` builder, and the `env` variable that
|
|
94
|
-
URL is bound to in every run's child.
|
|
95
|
-
|
|
96
|
-
***
|
|
97
|
-
|
|
98
|
-
### services?
|
|
99
|
-
|
|
100
|
-
```ts
|
|
101
|
-
optional services?: Services;
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Defined in: [src/facets/cli/cli.specification.ts:68](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L68)
|
|
105
|
-
|
|
106
|
-
Named infrastructure record started via testcontainers. Connection
|
|
107
|
-
URLs are injected automatically into the child env: `<KEY>_URL` per
|
|
108
|
-
service, plus `DATABASE_URL` / `REDIS_URL` when unambiguous
|
|
109
|
-
(CONVENTIONS B6). `.env()` overrides.
|
|
110
|
-
|
|
111
|
-
***
|
|
112
|
-
|
|
113
|
-
### transform?
|
|
114
|
-
|
|
115
|
-
```ts
|
|
116
|
-
optional transform?: (text) => string;
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
Defined in: [src/facets/cli/cli.specification.ts:75](https://github.com/jterrazz/package-test/blob/main/src/facets/cli/cli.specification.ts#L75)
|
|
120
|
-
|
|
121
|
-
Escape hatch: normaliser applied to result.stdout / result.stderr
|
|
122
|
-
before every comparison, AFTER the default ANSI strip (CONVENTIONS
|
|
123
|
-
D6). Does NOT mutate the raw `.text` accessor. Prefer `{{token}}`
|
|
124
|
-
placeholders in fixtures.
|
|
125
|
-
|
|
126
|
-
#### Parameters
|
|
127
|
-
|
|
128
|
-
| Parameter | Type |
|
|
129
|
-
| ------ | ------ |
|
|
130
|
-
| `text` | `string` |
|
|
131
|
-
|
|
132
|
-
#### Returns
|
|
133
|
-
|
|
134
|
-
`string`
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ComponentChain
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ComponentChain = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/facets/component/component.types.ts:37](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L37)
|
|
9
|
-
|
|
10
|
-
The chain. Every setup returns a new one, so the handle a spec imports never
|
|
11
|
-
carries the previous test's contracts, wrapper or clock.
|
|
12
|
-
|
|
13
|
-
## Properties
|
|
14
|
-
|
|
15
|
-
### clock
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
clock: (iso) => ComponentChain;
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Defined in: [src/facets/component/component.types.ts:39](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L39)
|
|
22
|
-
|
|
23
|
-
Pin the page's `Date` for this render — the clock the component reads.
|
|
24
|
-
|
|
25
|
-
#### Parameters
|
|
26
|
-
|
|
27
|
-
| Parameter | Type |
|
|
28
|
-
| ------ | ------ |
|
|
29
|
-
| `iso` | `string` |
|
|
30
|
-
|
|
31
|
-
#### Returns
|
|
32
|
-
|
|
33
|
-
`ComponentChain`
|
|
34
|
-
|
|
35
|
-
***
|
|
36
|
-
|
|
37
|
-
### intercept
|
|
38
|
-
|
|
39
|
-
```ts
|
|
40
|
-
intercept: {
|
|
41
|
-
(contracts): ComponentChain;
|
|
42
|
-
(request, response): ComponentChain;
|
|
43
|
-
};
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Defined in: [src/facets/component/component.types.ts:45](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L45)
|
|
47
|
-
|
|
48
|
-
Declare what the network replies — the same contracts, the same queue
|
|
49
|
-
and the same strictness as every other facet (D7), served by msw's
|
|
50
|
-
worker instead of its node interceptor.
|
|
51
|
-
|
|
52
|
-
#### Call Signature
|
|
53
|
-
|
|
54
|
-
```ts
|
|
55
|
-
(contracts): ComponentChain;
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
##### Parameters
|
|
59
|
-
|
|
60
|
-
| Parameter | Type |
|
|
61
|
-
| ------ | ------ |
|
|
62
|
-
| `contracts` | [`ContractInput`](ContractInput.md) |
|
|
63
|
-
|
|
64
|
-
##### Returns
|
|
65
|
-
|
|
66
|
-
`ComponentChain`
|
|
67
|
-
|
|
68
|
-
#### Call Signature
|
|
69
|
-
|
|
70
|
-
```ts
|
|
71
|
-
(request, response): ComponentChain;
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
##### Parameters
|
|
75
|
-
|
|
76
|
-
| Parameter | Type |
|
|
77
|
-
| ------ | ------ |
|
|
78
|
-
| `request` | [`ContractRequest`](ContractRequest.md) |
|
|
79
|
-
| `response` | \| [`ContractResponse`](ContractResponse.md) \| [`ContractResponder`](ContractResponder.md) |
|
|
80
|
-
|
|
81
|
-
##### Returns
|
|
82
|
-
|
|
83
|
-
`ComponentChain`
|
|
84
|
-
|
|
85
|
-
***
|
|
86
|
-
|
|
87
|
-
### render
|
|
88
|
-
|
|
89
|
-
```ts
|
|
90
|
-
render: (subject, scenario?) => Promise<RenderResult>;
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Defined in: [src/facets/component/component.types.ts:50](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L50)
|
|
94
|
-
|
|
95
|
-
Mount the subject, run the scenario, and capture what the page shows.
|
|
96
|
-
|
|
97
|
-
#### Parameters
|
|
98
|
-
|
|
99
|
-
| Parameter | Type |
|
|
100
|
-
| ------ | ------ |
|
|
101
|
-
| `subject` | [`RenderSubject`](RenderSubject.md) |
|
|
102
|
-
| `scenario?` | [`ComponentScenario`](ComponentScenario.md) |
|
|
103
|
-
|
|
104
|
-
#### Returns
|
|
105
|
-
|
|
106
|
-
`Promise`\<[`RenderResult`](../interfaces/RenderResult.md)\>
|
|
107
|
-
|
|
108
|
-
***
|
|
109
|
-
|
|
110
|
-
### viewport
|
|
111
|
-
|
|
112
|
-
```ts
|
|
113
|
-
viewport: (size) => ComponentChain;
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
Defined in: [src/facets/component/component.types.ts:56](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L56)
|
|
117
|
-
|
|
118
|
-
The page size THIS render gets — the Given of a component that reads
|
|
119
|
-
`matchMedia` or a container query. The project's size is restored when
|
|
120
|
-
the test ends, so a narrow render never leaks into the next one.
|
|
121
|
-
|
|
122
|
-
#### Parameters
|
|
123
|
-
|
|
124
|
-
| Parameter | Type |
|
|
125
|
-
| ------ | ------ |
|
|
126
|
-
| `size` | \{ `height`: `number`; `width`: `number`; \} |
|
|
127
|
-
| `size.height` | `number` |
|
|
128
|
-
| `size.width` | `number` |
|
|
129
|
-
|
|
130
|
-
#### Returns
|
|
131
|
-
|
|
132
|
-
`ComponentChain`
|
|
133
|
-
|
|
134
|
-
***
|
|
135
|
-
|
|
136
|
-
### wrap
|
|
137
|
-
|
|
138
|
-
```ts
|
|
139
|
-
wrap: (wrapper) => ComponentChain;
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Defined in: [src/facets/component/component.types.ts:62](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L62)
|
|
143
|
-
|
|
144
|
-
Wrap every render of this chain — the test-local Given a router stub or
|
|
145
|
-
a `<StrictMode>` is. The project's own `wrap` stays outermost: it is the
|
|
146
|
-
app's frame, and one test does not get to sit outside it.
|
|
147
|
-
|
|
148
|
-
#### Parameters
|
|
149
|
-
|
|
150
|
-
| Parameter | Type |
|
|
151
|
-
| ------ | ------ |
|
|
152
|
-
| `wrapper` | (`ui`) => [`ComponentUi`](ComponentUi.md) |
|
|
153
|
-
|
|
154
|
-
#### Returns
|
|
155
|
-
|
|
156
|
-
`ComponentChain`
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ComponentScenario
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ComponentScenario = (visitor) => Promise<void>;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/facets/component/component.types.ts:24](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L24)
|
|
9
|
-
|
|
10
|
-
The behaviour of a render; assertions stay in the Then, on the result (W1).
|
|
11
|
-
|
|
12
|
-
## Parameters
|
|
13
|
-
|
|
14
|
-
| Parameter | Type |
|
|
15
|
-
| ------ | ------ |
|
|
16
|
-
| `visitor` | [`ComponentVisitor`](ComponentVisitor.md) |
|
|
17
|
-
|
|
18
|
-
## Returns
|
|
19
|
-
|
|
20
|
-
`Promise`\<`void`\>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ComponentUi
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ComponentUi =
|
|
6
|
-
| ReactElement
|
|
7
|
-
| string
|
|
8
|
-
| number
|
|
9
|
-
| bigint
|
|
10
|
-
| Iterable<ReactNode>
|
|
11
|
-
| ReactPortal
|
|
12
|
-
| boolean
|
|
13
|
-
| null
|
|
14
|
-
| undefined
|
|
15
|
-
| DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES[keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_EXPERIMENTAL_REACT_NODES]
|
|
16
|
-
| Promise<AwaitedReactNode>;
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Defined in: node\_modules/@types/react/index.d.ts:436
|
|
20
|
-
|
|
21
|
-
Represents all of the things React can render.
|
|
22
|
-
|
|
23
|
-
Where ReactElement only represents JSX, `ReactNode` represents everything that can be rendered.
|
|
24
|
-
|
|
25
|
-
## See
|
|
26
|
-
|
|
27
|
-
[React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/docs/reference/reactnode/)
|
|
28
|
-
|
|
29
|
-
## Examples
|
|
30
|
-
|
|
31
|
-
```tsx
|
|
32
|
-
// Typing children
|
|
33
|
-
type Props = { children: ReactNode }
|
|
34
|
-
|
|
35
|
-
const Component = ({ children }: Props) => <div>{children}</div>
|
|
36
|
-
|
|
37
|
-
<Component>hello</Component>
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
```tsx
|
|
41
|
-
// Typing a custom element
|
|
42
|
-
type Props = { customElement: ReactNode }
|
|
43
|
-
|
|
44
|
-
const Component = ({ customElement }: Props) => <div>{customElement}</div>
|
|
45
|
-
|
|
46
|
-
<Component customElement={<div>hello</div>} />
|
|
47
|
-
```
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ComponentVisitor
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ComponentVisitor = ReturnType<typeof componentVerbs>;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/facets/component/component.types.ts:21](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.types.ts#L21)
|
|
9
|
-
|
|
10
|
-
The interaction vocabulary a render scenario is handed — the When.
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ContainerPort
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ContainerPort = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/container.port.ts:5](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L5)
|
|
9
|
-
|
|
10
|
-
Abstract container interface.
|
|
11
|
-
Represents a running service (database, cache, etc.)
|
|
12
|
-
|
|
13
|
-
## Properties
|
|
14
|
-
|
|
15
|
-
### getConnectionString
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
getConnectionString: () => string;
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Defined in: [src/model/ports/container.port.ts:19](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L19)
|
|
22
|
-
|
|
23
|
-
Get a full connection string for this service.
|
|
24
|
-
|
|
25
|
-
#### Returns
|
|
26
|
-
|
|
27
|
-
`string`
|
|
28
|
-
|
|
29
|
-
***
|
|
30
|
-
|
|
31
|
-
### getHost
|
|
32
|
-
|
|
33
|
-
```ts
|
|
34
|
-
getHost: () => string;
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Defined in: [src/model/ports/container.port.ts:16](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L16)
|
|
38
|
-
|
|
39
|
-
Get the host to connect to.
|
|
40
|
-
|
|
41
|
-
#### Returns
|
|
42
|
-
|
|
43
|
-
`string`
|
|
44
|
-
|
|
45
|
-
***
|
|
46
|
-
|
|
47
|
-
### getLogs
|
|
48
|
-
|
|
49
|
-
```ts
|
|
50
|
-
getLogs: () => Promise<string>;
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Defined in: [src/model/ports/container.port.ts:22](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L22)
|
|
54
|
-
|
|
55
|
-
Get container logs (stdout + stderr).
|
|
56
|
-
|
|
57
|
-
#### Returns
|
|
58
|
-
|
|
59
|
-
`Promise`\<`string`\>
|
|
60
|
-
|
|
61
|
-
***
|
|
62
|
-
|
|
63
|
-
### getMappedPort
|
|
64
|
-
|
|
65
|
-
```ts
|
|
66
|
-
getMappedPort: (containerPort) => number;
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Defined in: [src/model/ports/container.port.ts:13](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L13)
|
|
70
|
-
|
|
71
|
-
Get the mapped host port for a container port.
|
|
72
|
-
|
|
73
|
-
#### Parameters
|
|
74
|
-
|
|
75
|
-
| Parameter | Type |
|
|
76
|
-
| ------ | ------ |
|
|
77
|
-
| `containerPort` | `number` |
|
|
78
|
-
|
|
79
|
-
#### Returns
|
|
80
|
-
|
|
81
|
-
`number`
|
|
82
|
-
|
|
83
|
-
***
|
|
84
|
-
|
|
85
|
-
### start
|
|
86
|
-
|
|
87
|
-
```ts
|
|
88
|
-
start: () => Promise<void>;
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Defined in: [src/model/ports/container.port.ts:7](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L7)
|
|
92
|
-
|
|
93
|
-
Start the container and wait until ready.
|
|
94
|
-
|
|
95
|
-
#### Returns
|
|
96
|
-
|
|
97
|
-
`Promise`\<`void`\>
|
|
98
|
-
|
|
99
|
-
***
|
|
100
|
-
|
|
101
|
-
### stop
|
|
102
|
-
|
|
103
|
-
```ts
|
|
104
|
-
stop: () => Promise<void>;
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Defined in: [src/model/ports/container.port.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/ports/container.port.ts#L10)
|
|
108
|
-
|
|
109
|
-
Stop and remove the container.
|
|
110
|
-
|
|
111
|
-
#### Returns
|
|
112
|
-
|
|
113
|
-
`Promise`\<`void`\>
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: Contract
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type Contract = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/contracts/contract.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L10)
|
|
9
|
-
|
|
10
|
-
A declared external interaction: what to match (`request`) and what to reply
|
|
11
|
-
(`response`), together in one named artifact. Contracts live in TypeScript
|
|
12
|
-
files under `contracts/` next to the tests that use them, so the business
|
|
13
|
-
payload (prompts, JSON responses) is visible at a glance while the real HTTP
|
|
14
|
-
call stays mocked underneath.
|
|
15
|
-
|
|
16
|
-
## Properties
|
|
17
|
-
|
|
18
|
-
### request
|
|
19
|
-
|
|
20
|
-
```ts
|
|
21
|
-
request: ContractRequest;
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Defined in: [src/model/contracts/contract.ts:12](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L12)
|
|
25
|
-
|
|
26
|
-
Which outgoing call this contract speaks for.
|
|
27
|
-
|
|
28
|
-
***
|
|
29
|
-
|
|
30
|
-
### required?
|
|
31
|
-
|
|
32
|
-
```ts
|
|
33
|
-
optional required?: boolean;
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Defined in: [src/model/contracts/contract.ts:30](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L30)
|
|
37
|
-
|
|
38
|
-
When true, the chain FAILS unless the contract was actually requested:
|
|
39
|
-
at least once, or exactly `times` times when `times` is set. Turns a
|
|
40
|
-
silently-unused declaration into a spec failure.
|
|
41
|
-
|
|
42
|
-
***
|
|
43
|
-
|
|
44
|
-
### response
|
|
45
|
-
|
|
46
|
-
```ts
|
|
47
|
-
response: ContractResponseValue;
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Defined in: [src/model/contracts/contract.ts:18](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L18)
|
|
51
|
-
|
|
52
|
-
The reply — a fixed [ContractResponse](ContractResponse.md), or a function
|
|
53
|
-
`(request) => ContractResponse` evaluated per served request when the
|
|
54
|
-
response must derive from the incoming payload.
|
|
55
|
-
|
|
56
|
-
***
|
|
57
|
-
|
|
58
|
-
### times?
|
|
59
|
-
|
|
60
|
-
```ts
|
|
61
|
-
optional times?: number;
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Defined in: [src/model/contracts/contract.ts:24](https://github.com/jterrazz/package-test/blob/main/src/model/contracts/contract.ts#L24)
|
|
65
|
-
|
|
66
|
-
How many times this contract may serve. Omitted = unlimited (a
|
|
67
|
-
re-render or a retry replays it). `n` = exhausted after n serves, so an
|
|
68
|
-
ordered sequence is a finite contract followed by an unlimited tail.
|