@jterrazz/test 16.0.0 → 16.1.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/dist/appium.adapter.js +59 -4
- package/dist/browser/index.js +88 -40
- package/dist/checker.js +272 -63
- package/dist/index.d.ts +33 -4
- package/dist/index.js +47 -24
- package/dist/oxlint.cjs +100 -27
- package/dist/oxlint.js +100 -27
- package/dist/playwright.adapter.js +14 -65
- package/dist/{ambiguity.js → substring-warning.js} +99 -1
- package/dist/vitest.js +71 -11
- 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 +242 -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 +305 -0
- package/docs/19-linting.md +510 -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 +2 -1
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Interface: PageResult
|
|
3
|
+
|
|
4
|
+
Defined in: [src/facets/website/website.result.ts:77](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L77)
|
|
5
|
+
|
|
6
|
+
Result from a rendered `.visit()` action — the page as a browser saw it.
|
|
7
|
+
|
|
8
|
+
## Extends
|
|
9
|
+
|
|
10
|
+
- [`BaseResult`](BaseResult.md)
|
|
11
|
+
|
|
12
|
+
## Accessors
|
|
13
|
+
|
|
14
|
+
### alternates
|
|
15
|
+
|
|
16
|
+
#### Get Signature
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
get alternates(): Record<string, string>;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Defined in: [src/facets/website/website.result.ts:86](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L86)
|
|
23
|
+
|
|
24
|
+
Hreflang alternates declared in the head, keyed by language code.
|
|
25
|
+
|
|
26
|
+
##### Returns
|
|
27
|
+
|
|
28
|
+
`Record`\<`string`, `string`\>
|
|
29
|
+
|
|
30
|
+
***
|
|
31
|
+
|
|
32
|
+
### canonical
|
|
33
|
+
|
|
34
|
+
#### Get Signature
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
get canonical(): string | null;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Defined in: [src/facets/website/website.result.ts:97](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L97)
|
|
41
|
+
|
|
42
|
+
The canonical URL declared in the head, or null.
|
|
43
|
+
|
|
44
|
+
##### Returns
|
|
45
|
+
|
|
46
|
+
`string` \| `null`
|
|
47
|
+
|
|
48
|
+
***
|
|
49
|
+
|
|
50
|
+
### console
|
|
51
|
+
|
|
52
|
+
#### Get Signature
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
get console(): TextAccessor;
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Defined in: [src/facets/website/website.result.ts:106](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L106)
|
|
59
|
+
|
|
60
|
+
The browser console as a stream — one message per line, prefixed by
|
|
61
|
+
its type — same shape as `stdout` on a cli result. Assert emptiness
|
|
62
|
+
with `toBeEmpty()`, or snapshot with `toMatch('home.console.txt')`.
|
|
63
|
+
|
|
64
|
+
##### Returns
|
|
65
|
+
|
|
66
|
+
[`TextAccessor`](TextAccessor.md)
|
|
67
|
+
|
|
68
|
+
***
|
|
69
|
+
|
|
70
|
+
### content
|
|
71
|
+
|
|
72
|
+
#### Get Signature
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
get content(): TextAccessor;
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Defined in: [src/facets/website/website.result.ts:183](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L183)
|
|
79
|
+
|
|
80
|
+
Rendered body text as a text accessor.
|
|
81
|
+
|
|
82
|
+
##### Returns
|
|
83
|
+
|
|
84
|
+
[`TextAccessor`](TextAccessor.md)
|
|
85
|
+
|
|
86
|
+
***
|
|
87
|
+
|
|
88
|
+
### errors
|
|
89
|
+
|
|
90
|
+
#### Get Signature
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
get errors(): TextAccessor;
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Defined in: [src/facets/website/website.result.ts:119](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L119)
|
|
97
|
+
|
|
98
|
+
Console messages of type `error` only — the stream you usually want
|
|
99
|
+
empty: `expect(result.errors).toBeEmpty()`. Same shape as `stderr` on
|
|
100
|
+
a cli result.
|
|
101
|
+
|
|
102
|
+
##### Returns
|
|
103
|
+
|
|
104
|
+
[`TextAccessor`](TextAccessor.md)
|
|
105
|
+
|
|
106
|
+
***
|
|
107
|
+
|
|
108
|
+
### head
|
|
109
|
+
|
|
110
|
+
#### Get Signature
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
get head(): JsonAccessor;
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Defined in: [src/facets/website/website.result.ts:135](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L135)
|
|
117
|
+
|
|
118
|
+
The document-head projection as a JSON accessor — title, canonical,
|
|
119
|
+
hreflang alternates, and named metas — for one golden per page:
|
|
120
|
+
`expect(result.head).toMatch('home.head.json')`.
|
|
121
|
+
|
|
122
|
+
##### Returns
|
|
123
|
+
|
|
124
|
+
[`JsonAccessor`](JsonAccessor.md)
|
|
125
|
+
|
|
126
|
+
***
|
|
127
|
+
|
|
128
|
+
### html
|
|
129
|
+
|
|
130
|
+
#### Get Signature
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
get html(): TextAccessor;
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Defined in: [src/facets/website/website.result.ts:151](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L151)
|
|
137
|
+
|
|
138
|
+
The rendered DOM serialization as a text accessor.
|
|
139
|
+
|
|
140
|
+
##### Returns
|
|
141
|
+
|
|
142
|
+
[`TextAccessor`](TextAccessor.md)
|
|
143
|
+
|
|
144
|
+
***
|
|
145
|
+
|
|
146
|
+
### jsonLd
|
|
147
|
+
|
|
148
|
+
#### Get Signature
|
|
149
|
+
|
|
150
|
+
```ts
|
|
151
|
+
get jsonLd(): JsonAccessor;
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Defined in: [src/facets/website/website.result.ts:162](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L162)
|
|
155
|
+
|
|
156
|
+
Every `application/ld+json` block of the page, parsed, as one JSON
|
|
157
|
+
array — `expect(result.jsonLd).toMatch('article.jsonld.json')`.
|
|
158
|
+
|
|
159
|
+
##### Returns
|
|
160
|
+
|
|
161
|
+
[`JsonAccessor`](JsonAccessor.md)
|
|
162
|
+
|
|
163
|
+
***
|
|
164
|
+
|
|
165
|
+
### links
|
|
166
|
+
|
|
167
|
+
#### Get Signature
|
|
168
|
+
|
|
169
|
+
```ts
|
|
170
|
+
get links(): BrowserLinkElement[];
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Defined in: [src/facets/website/website.result.ts:168](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L168)
|
|
174
|
+
|
|
175
|
+
`<link>` elements of the head, in DOM order.
|
|
176
|
+
|
|
177
|
+
##### Returns
|
|
178
|
+
|
|
179
|
+
[`BrowserLinkElement`](../type-aliases/BrowserLinkElement.md)[]
|
|
180
|
+
|
|
181
|
+
***
|
|
182
|
+
|
|
183
|
+
### status
|
|
184
|
+
|
|
185
|
+
#### Get Signature
|
|
186
|
+
|
|
187
|
+
```ts
|
|
188
|
+
get status(): number;
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Defined in: [src/facets/website/website.result.ts:178](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L178)
|
|
192
|
+
|
|
193
|
+
HTTP status of the main document response.
|
|
194
|
+
|
|
195
|
+
##### Returns
|
|
196
|
+
|
|
197
|
+
`number`
|
|
198
|
+
|
|
199
|
+
***
|
|
200
|
+
|
|
201
|
+
### title
|
|
202
|
+
|
|
203
|
+
#### Get Signature
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
get title(): TextAccessor;
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Defined in: [src/facets/website/website.result.ts:203](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L203)
|
|
210
|
+
|
|
211
|
+
The document title as a text accessor.
|
|
212
|
+
|
|
213
|
+
##### Returns
|
|
214
|
+
|
|
215
|
+
[`TextAccessor`](TextAccessor.md)
|
|
216
|
+
|
|
217
|
+
***
|
|
218
|
+
|
|
219
|
+
### tree
|
|
220
|
+
|
|
221
|
+
#### Get Signature
|
|
222
|
+
|
|
223
|
+
```ts
|
|
224
|
+
get tree(): TextAccessor;
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Defined in: [src/facets/website/website.result.ts:196](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L196)
|
|
228
|
+
|
|
229
|
+
The ARIA snapshot of the rendered `<body>` — the page's outline, as the
|
|
230
|
+
accessibility tree draws it, and the one golden a rendered surface pins.
|
|
231
|
+
Deterministic where a screenshot is not, and the SAME dialect a component
|
|
232
|
+
spec asserts, so a page and the components inside it read alike.
|
|
233
|
+
|
|
234
|
+
##### Returns
|
|
235
|
+
|
|
236
|
+
[`TextAccessor`](TextAccessor.md)
|
|
237
|
+
|
|
238
|
+
***
|
|
239
|
+
|
|
240
|
+
### url
|
|
241
|
+
|
|
242
|
+
#### Get Signature
|
|
243
|
+
|
|
244
|
+
```ts
|
|
245
|
+
get url(): string;
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Defined in: [src/facets/website/website.result.ts:210](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L210)
|
|
249
|
+
|
|
250
|
+
Final URL after redirects.
|
|
251
|
+
|
|
252
|
+
##### Returns
|
|
253
|
+
|
|
254
|
+
`string`
|
|
255
|
+
|
|
256
|
+
## Methods
|
|
257
|
+
|
|
258
|
+
### directory()
|
|
259
|
+
|
|
260
|
+
```ts
|
|
261
|
+
directory(path?): DirectoryAccessor;
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Defined in: [src/model/result/result.ts:55](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L55)
|
|
265
|
+
|
|
266
|
+
Access a directory (relative to the working directory) for snapshot assertions.
|
|
267
|
+
|
|
268
|
+
#### Parameters
|
|
269
|
+
|
|
270
|
+
| Parameter | Type | Default value |
|
|
271
|
+
| ------ | ------ | ------ |
|
|
272
|
+
| `path` | `string` | `'.'` |
|
|
273
|
+
|
|
274
|
+
#### Returns
|
|
275
|
+
|
|
276
|
+
[`DirectoryAccessor`](DirectoryAccessor.md)
|
|
277
|
+
|
|
278
|
+
#### Inherited from
|
|
279
|
+
|
|
280
|
+
[`BaseResult`](BaseResult.md).[`directory`](BaseResult.md#directory)
|
|
281
|
+
|
|
282
|
+
***
|
|
283
|
+
|
|
284
|
+
### file()
|
|
285
|
+
|
|
286
|
+
```ts
|
|
287
|
+
file(path): FileAccessor;
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Defined in: [src/model/result/result.ts:61](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L61)
|
|
291
|
+
|
|
292
|
+
Access a single file (relative to the working directory) for content assertions.
|
|
293
|
+
|
|
294
|
+
#### Parameters
|
|
295
|
+
|
|
296
|
+
| Parameter | Type |
|
|
297
|
+
| ------ | ------ |
|
|
298
|
+
| `path` | `string` |
|
|
299
|
+
|
|
300
|
+
#### Returns
|
|
301
|
+
|
|
302
|
+
[`FileAccessor`](../type-aliases/FileAccessor.md)
|
|
303
|
+
|
|
304
|
+
#### Inherited from
|
|
305
|
+
|
|
306
|
+
[`BaseResult`](BaseResult.md).[`file`](BaseResult.md#file)
|
|
307
|
+
|
|
308
|
+
***
|
|
309
|
+
|
|
310
|
+
### meta()
|
|
311
|
+
|
|
312
|
+
```ts
|
|
313
|
+
meta(name): string | undefined;
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
Defined in: [src/facets/website/website.result.ts:173](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L173)
|
|
317
|
+
|
|
318
|
+
The content of a named meta — `meta('description')`, `meta('og:image')`.
|
|
319
|
+
|
|
320
|
+
#### Parameters
|
|
321
|
+
|
|
322
|
+
| Parameter | Type |
|
|
323
|
+
| ------ | ------ |
|
|
324
|
+
| `name` | `string` |
|
|
325
|
+
|
|
326
|
+
#### Returns
|
|
327
|
+
|
|
328
|
+
`string` \| `undefined`
|
|
329
|
+
|
|
330
|
+
***
|
|
331
|
+
|
|
332
|
+
### table()
|
|
333
|
+
|
|
334
|
+
```ts
|
|
335
|
+
table(tableName, options?): TableAccessor;
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
Defined in: [src/model/result/result.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L86)
|
|
339
|
+
|
|
340
|
+
Access a database table for row-level assertions via expect() matchers.
|
|
341
|
+
|
|
342
|
+
#### Parameters
|
|
343
|
+
|
|
344
|
+
| Parameter | Type |
|
|
345
|
+
| ------ | ------ |
|
|
346
|
+
| `tableName` | `string` |
|
|
347
|
+
| `options?` | \{ `database?`: `string`; \} |
|
|
348
|
+
| `options.database?` | `string` |
|
|
349
|
+
|
|
350
|
+
#### Returns
|
|
351
|
+
|
|
352
|
+
[`TableAccessor`](TableAccessor.md)
|
|
353
|
+
|
|
354
|
+
#### Inherited from
|
|
355
|
+
|
|
356
|
+
[`BaseResult`](BaseResult.md).[`table`](BaseResult.md#table)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Interface: RenderResult
|
|
3
|
+
|
|
4
|
+
Defined in: [src/facets/component/component.result.ts:12](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L12)
|
|
5
|
+
|
|
6
|
+
What a render resolves to — the component as the page saw it, after the
|
|
7
|
+
scenario ran.
|
|
8
|
+
|
|
9
|
+
Five accessors and no more: the ARIA outline a golden pins, the two
|
|
10
|
+
renderings a probe reads, and the two streams a spec wants silent. Nothing
|
|
11
|
+
here reaches back into React — a spec that needs the component's internals
|
|
12
|
+
is asserting the implementation, not the surface a user meets.
|
|
13
|
+
|
|
14
|
+
## Properties
|
|
15
|
+
|
|
16
|
+
### console
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
readonly console: RenderedText;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Defined in: [src/facets/component/component.result.ts:14](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L14)
|
|
23
|
+
|
|
24
|
+
The browser console as a stream — one `[type] text` line per message.
|
|
25
|
+
|
|
26
|
+
***
|
|
27
|
+
|
|
28
|
+
### content
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
readonly content: RenderedText;
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Defined in: [src/facets/component/component.result.ts:16](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L16)
|
|
35
|
+
|
|
36
|
+
Rendered text of the whole document body (`innerText`).
|
|
37
|
+
|
|
38
|
+
***
|
|
39
|
+
|
|
40
|
+
### errors
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
readonly errors: RenderedText;
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Defined in: [src/facets/component/component.result.ts:18](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L18)
|
|
47
|
+
|
|
48
|
+
Console messages of type `error` only, plus any uncaught page error.
|
|
49
|
+
|
|
50
|
+
***
|
|
51
|
+
|
|
52
|
+
### html
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
readonly html: RenderedText;
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Defined in: [src/facets/component/component.result.ts:20](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L20)
|
|
59
|
+
|
|
60
|
+
The mounted markup, serialised — the escape hatch for a class or an attribute.
|
|
61
|
+
|
|
62
|
+
***
|
|
63
|
+
|
|
64
|
+
### tree
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
readonly tree: RenderedText;
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Defined in: [src/facets/component/component.result.ts:22](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L22)
|
|
71
|
+
|
|
72
|
+
The ARIA snapshot of the rendered body — the outline a golden pins.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Interface: RenderedText
|
|
3
|
+
|
|
4
|
+
Defined in: [src/facets/component/rendered-text.ts:12](https://github.com/jterrazz/package-test/blob/main/src/facets/component/rendered-text.ts#L12)
|
|
5
|
+
|
|
6
|
+
A stream captured INSIDE the page.
|
|
7
|
+
|
|
8
|
+
Structurally identical to any other [TextAccessor](TextAccessor.md) — the same
|
|
9
|
+
`{{token}}` grammar, the same ANSI stripping, the same `.grep()` — and
|
|
10
|
+
marked so the matcher augmentation can say the one thing that differs: its
|
|
11
|
+
golden lives on the server, so `toMatch` is awaited here where it is
|
|
12
|
+
synchronous everywhere else.
|
|
13
|
+
|
|
14
|
+
## Extends
|
|
15
|
+
|
|
16
|
+
- [`TextAccessor`](TextAccessor.md)
|
|
17
|
+
|
|
18
|
+
## Properties
|
|
19
|
+
|
|
20
|
+
### capturedInPage
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
readonly capturedInPage: true;
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Defined in: [src/facets/component/rendered-text.ts:14](https://github.com/jterrazz/package-test/blob/main/src/facets/component/rendered-text.ts#L14)
|
|
27
|
+
|
|
28
|
+
The marker the `toMatch` overload reads. Never asserted on directly.
|
|
29
|
+
|
|
30
|
+
***
|
|
31
|
+
|
|
32
|
+
### text
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
readonly text: string;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Defined in: [src/model/result/text.ts:43](https://github.com/jterrazz/package-test/blob/main/src/model/result/text.ts#L43)
|
|
39
|
+
|
|
40
|
+
The raw captured text (never transformed, ANSI preserved).
|
|
41
|
+
|
|
42
|
+
#### Inherited from
|
|
43
|
+
|
|
44
|
+
[`TextAccessor`](TextAccessor.md).[`text`](TextAccessor.md#text)
|
|
45
|
+
|
|
46
|
+
## Methods
|
|
47
|
+
|
|
48
|
+
### grep()
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
grep(pattern): TextAccessor;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Defined in: [src/model/result/text.ts:76](https://github.com/jterrazz/package-test/blob/main/src/model/result/text.ts#L76)
|
|
55
|
+
|
|
56
|
+
Keep only the blank-line-separated blocks of the text that contain
|
|
57
|
+
`pattern` (how linter/compiler output is structured), returned as a new
|
|
58
|
+
`TextAccessor` — the same subject type, so the result is chainable and
|
|
59
|
+
snapshot-able. The scalpel for probing large tool outputs; snapshot the
|
|
60
|
+
whole surface by default, reach for `.grep()` for targeted checks.
|
|
61
|
+
|
|
62
|
+
#### Parameters
|
|
63
|
+
|
|
64
|
+
| Parameter | Type |
|
|
65
|
+
| ------ | ------ |
|
|
66
|
+
| `pattern` | `string` |
|
|
67
|
+
|
|
68
|
+
#### Returns
|
|
69
|
+
|
|
70
|
+
[`TextAccessor`](TextAccessor.md)
|
|
71
|
+
|
|
72
|
+
#### Inherited from
|
|
73
|
+
|
|
74
|
+
[`TextAccessor`](TextAccessor.md).[`grep`](TextAccessor.md#grep)
|
|
75
|
+
|
|
76
|
+
***
|
|
77
|
+
|
|
78
|
+
### toString()
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
toString(): string;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Defined in: [src/model/result/text.ts:83](https://github.com/jterrazz/package-test/blob/main/src/model/result/text.ts#L83)
|
|
85
|
+
|
|
86
|
+
#### Returns
|
|
87
|
+
|
|
88
|
+
`string`
|
|
89
|
+
|
|
90
|
+
#### Inherited from
|
|
91
|
+
|
|
92
|
+
[`TextAccessor`](TextAccessor.md).[`toString`](TextAccessor.md#tostring)
|
|
93
|
+
|
|
94
|
+
***
|
|
95
|
+
|
|
96
|
+
### valueOf()
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
valueOf(): string;
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Defined in: [src/model/result/text.ts:87](https://github.com/jterrazz/package-test/blob/main/src/model/result/text.ts#L87)
|
|
103
|
+
|
|
104
|
+
#### Returns
|
|
105
|
+
|
|
106
|
+
`string`
|
|
107
|
+
|
|
108
|
+
#### Inherited from
|
|
109
|
+
|
|
110
|
+
[`TextAccessor`](TextAccessor.md).[`valueOf`](TextAccessor.md#valueof)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Interface: ResponseAccessor
|
|
3
|
+
|
|
4
|
+
Defined in: [src/model/result/response.ts:12](https://github.com/jterrazz/package-test/blob/main/src/model/result/response.ts#L12)
|
|
5
|
+
|
|
6
|
+
Read-only accessor for an HTTP response.
|
|
7
|
+
|
|
8
|
+
Assertions go through `expect()`:
|
|
9
|
+
`expect(result.response).toMatch('created.http')` compares status,
|
|
10
|
+
a subset of headers, and the JSON body against `_expected/<name>` —
|
|
11
|
+
with `{{placeholder}}` support in all three.
|
|
12
|
+
|
|
13
|
+
## Properties
|
|
14
|
+
|
|
15
|
+
### body
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
readonly body: unknown;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Defined in: [src/model/result/response.ts:14](https://github.com/jterrazz/package-test/blob/main/src/model/result/response.ts#L14)
|
|
22
|
+
|
|
23
|
+
The parsed JSON response body (null when parsing failed).
|
|
24
|
+
|
|
25
|
+
***
|
|
26
|
+
|
|
27
|
+
### headers
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
readonly headers: Record<string, string>;
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Defined in: [src/model/result/response.ts:18](https://github.com/jterrazz/package-test/blob/main/src/model/result/response.ts#L18)
|
|
34
|
+
|
|
35
|
+
Response headers as a flat, lower-cased key-value map.
|
|
36
|
+
|
|
37
|
+
***
|
|
38
|
+
|
|
39
|
+
### status
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
readonly status: number;
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Defined in: [src/model/result/response.ts:20](https://github.com/jterrazz/package-test/blob/main/src/model/result/response.ts#L20)
|
|
46
|
+
|
|
47
|
+
The HTTP response status code.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
+
# Interface: ScreenResult
|
|
3
|
+
|
|
4
|
+
Defined in: [src/facets/mobile/mobile.result.ts:8](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.result.ts#L8)
|
|
5
|
+
|
|
6
|
+
Result from a `.open()` action — the screen as the device saw it, final state.
|
|
7
|
+
|
|
8
|
+
## Extends
|
|
9
|
+
|
|
10
|
+
- [`BaseResult`](BaseResult.md)
|
|
11
|
+
|
|
12
|
+
## Accessors
|
|
13
|
+
|
|
14
|
+
### content
|
|
15
|
+
|
|
16
|
+
#### Get Signature
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
get content(): TextAccessor;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Defined in: [src/facets/mobile/mobile.result.ts:20](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.result.ts#L20)
|
|
23
|
+
|
|
24
|
+
The visible screen texts as one stream, in reading order — the scalpel
|
|
25
|
+
for a targeted probe: `expect(result.content).toContain('Bookmarked')`.
|
|
26
|
+
|
|
27
|
+
##### Returns
|
|
28
|
+
|
|
29
|
+
[`TextAccessor`](TextAccessor.md)
|
|
30
|
+
|
|
31
|
+
***
|
|
32
|
+
|
|
33
|
+
### screen
|
|
34
|
+
|
|
35
|
+
#### Get Signature
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
get screen(): JsonAccessor;
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Defined in: [src/facets/mobile/mobile.result.ts:30](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.result.ts#L30)
|
|
42
|
+
|
|
43
|
+
The projected accessibility tree as a JSON accessor — the one golden
|
|
44
|
+
per screen: `expect(result.screen).toMatch('events.screen.json')`.
|
|
45
|
+
|
|
46
|
+
##### Returns
|
|
47
|
+
|
|
48
|
+
[`JsonAccessor`](JsonAccessor.md)
|
|
49
|
+
|
|
50
|
+
## Methods
|
|
51
|
+
|
|
52
|
+
### directory()
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
directory(path?): DirectoryAccessor;
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Defined in: [src/model/result/result.ts:55](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L55)
|
|
59
|
+
|
|
60
|
+
Access a directory (relative to the working directory) for snapshot assertions.
|
|
61
|
+
|
|
62
|
+
#### Parameters
|
|
63
|
+
|
|
64
|
+
| Parameter | Type | Default value |
|
|
65
|
+
| ------ | ------ | ------ |
|
|
66
|
+
| `path` | `string` | `'.'` |
|
|
67
|
+
|
|
68
|
+
#### Returns
|
|
69
|
+
|
|
70
|
+
[`DirectoryAccessor`](DirectoryAccessor.md)
|
|
71
|
+
|
|
72
|
+
#### Inherited from
|
|
73
|
+
|
|
74
|
+
[`BaseResult`](BaseResult.md).[`directory`](BaseResult.md#directory)
|
|
75
|
+
|
|
76
|
+
***
|
|
77
|
+
|
|
78
|
+
### file()
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
file(path): FileAccessor;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Defined in: [src/model/result/result.ts:61](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L61)
|
|
85
|
+
|
|
86
|
+
Access a single file (relative to the working directory) for content assertions.
|
|
87
|
+
|
|
88
|
+
#### Parameters
|
|
89
|
+
|
|
90
|
+
| Parameter | Type |
|
|
91
|
+
| ------ | ------ |
|
|
92
|
+
| `path` | `string` |
|
|
93
|
+
|
|
94
|
+
#### Returns
|
|
95
|
+
|
|
96
|
+
[`FileAccessor`](../type-aliases/FileAccessor.md)
|
|
97
|
+
|
|
98
|
+
#### Inherited from
|
|
99
|
+
|
|
100
|
+
[`BaseResult`](BaseResult.md).[`file`](BaseResult.md#file)
|
|
101
|
+
|
|
102
|
+
***
|
|
103
|
+
|
|
104
|
+
### table()
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
table(tableName, options?): TableAccessor;
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Defined in: [src/model/result/result.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L86)
|
|
111
|
+
|
|
112
|
+
Access a database table for row-level assertions via expect() matchers.
|
|
113
|
+
|
|
114
|
+
#### Parameters
|
|
115
|
+
|
|
116
|
+
| Parameter | Type |
|
|
117
|
+
| ------ | ------ |
|
|
118
|
+
| `tableName` | `string` |
|
|
119
|
+
| `options?` | \{ `database?`: `string`; \} |
|
|
120
|
+
| `options.database?` | `string` |
|
|
121
|
+
|
|
122
|
+
#### Returns
|
|
123
|
+
|
|
124
|
+
[`TableAccessor`](TableAccessor.md)
|
|
125
|
+
|
|
126
|
+
#### Inherited from
|
|
127
|
+
|
|
128
|
+
[`BaseResult`](BaseResult.md).[`table`](BaseResult.md#table)
|