@plan2net/typo3-playwright-toolkit 0.21.1 → 0.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -3
- package/dist/builders/content-builder.d.ts +4 -0
- package/dist/builders/content-builder.d.ts.map +1 -1
- package/dist/builders/content-builder.js +10 -0
- package/dist/builders/content-builder.js.map +1 -1
- package/dist/builders/page-builder.d.ts +3 -1
- package/dist/builders/page-builder.d.ts.map +1 -1
- package/dist/builders/page-builder.js +18 -14
- package/dist/builders/page-builder.js.map +1 -1
- package/dist/builders/relations.d.ts.map +1 -1
- package/dist/builders/relations.js +3 -2
- package/dist/builders/relations.js.map +1 -1
- package/dist/builders/request-context.d.ts +1 -0
- package/dist/builders/request-context.d.ts.map +1 -1
- package/dist/builders/request-context.js +1 -0
- package/dist/builders/request-context.js.map +1 -1
- package/dist/checks/csp.d.ts.map +1 -1
- package/dist/checks/csp.js +4 -1
- package/dist/checks/csp.js.map +1 -1
- package/dist/checks/screenshot.d.ts +3 -1
- package/dist/checks/screenshot.d.ts.map +1 -1
- package/dist/checks/screenshot.js +7 -4
- package/dist/checks/screenshot.js.map +1 -1
- package/dist/clean/cli.js +12 -7
- package/dist/clean/cli.js.map +1 -1
- package/dist/contract.d.ts +2 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +2 -0
- package/dist/contract.js.map +1 -1
- package/dist/global-setup.d.ts +2 -0
- package/dist/global-setup.d.ts.map +1 -1
- package/dist/global-setup.js +28 -5
- package/dist/global-setup.js.map +1 -1
- package/dist/global-teardown.d.ts +5 -1
- package/dist/global-teardown.d.ts.map +1 -1
- package/dist/global-teardown.js +9 -6
- package/dist/global-teardown.js.map +1 -1
- package/dist/http/off-site-headers.d.ts +1 -1
- package/dist/http/off-site-headers.d.ts.map +1 -1
- package/dist/http/off-site-headers.js +3 -3
- package/dist/http/off-site-headers.js.map +1 -1
- package/dist/http/record-edit.d.ts +1 -0
- package/dist/http/record-edit.d.ts.map +1 -1
- package/dist/http/record-edit.js +5 -2
- package/dist/http/record-edit.js.map +1 -1
- package/dist/http/toolkit-request.d.ts +2 -1
- package/dist/http/toolkit-request.d.ts.map +1 -1
- package/dist/http/toolkit-request.js +14 -4
- package/dist/http/toolkit-request.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/inspect/links.d.ts +0 -2
- package/dist/inspect/links.d.ts.map +1 -1
- package/dist/inspect/links.js +25 -9
- package/dist/inspect/links.js.map +1 -1
- package/dist/scenario.d.ts +8 -3
- package/dist/scenario.d.ts.map +1 -1
- package/dist/scenario.js +52 -41
- package/dist/scenario.js.map +1 -1
- package/dist/sites/probe.d.ts +8 -0
- package/dist/sites/probe.d.ts.map +1 -0
- package/dist/sites/probe.js +50 -0
- package/dist/sites/probe.js.map +1 -0
- package/dist/sites/registry.d.ts +31 -0
- package/dist/sites/registry.d.ts.map +1 -0
- package/dist/sites/registry.js +97 -0
- package/dist/sites/registry.js.map +1 -0
- package/dist/state/attempt-registry.d.ts +5 -0
- package/dist/state/attempt-registry.d.ts.map +1 -1
- package/dist/state/attempt-registry.js +3 -0
- package/dist/state/attempt-registry.js.map +1 -1
- package/dist/state/run-namespace.d.ts.map +1 -1
- package/dist/state/run-namespace.js +2 -0
- package/dist/state/run-namespace.js.map +1 -1
- package/dist/state/testing-url.d.ts +3 -0
- package/dist/state/testing-url.d.ts.map +1 -0
- package/dist/state/testing-url.js +21 -0
- package/dist/state/testing-url.js.map +1 -0
- package/dist/types/playwright-extensions.d.ts +2 -0
- package/dist/types/playwright-extensions.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<p align="center">
|
|
9
9
|
<a href="https://www.npmjs.com/package/@plan2net/typo3-playwright-toolkit"><img src="https://img.shields.io/npm/v/@plan2net/typo3-playwright-toolkit?style=for-the-badge&logo=npm&logoColor=white&labelColor=24273a&color=fff3b0" alt="npm version"></a>
|
|
10
10
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-22.12%2B-a0c4ff?style=for-the-badge&logo=nodedotjs&logoColor=white&labelColor=24273a" alt="Node 22.12 or newer"></a>
|
|
11
|
-
<a href="https://playwright.dev"><img src="https://img.shields.io/badge/Playwright-1.
|
|
11
|
+
<a href="https://playwright.dev"><img src="https://img.shields.io/badge/Playwright-1.47%2B-b5ead7?style=for-the-badge&labelColor=24273a&logo=data:image/svg%2Bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI%2BPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTcgNHYxNmwxMy04eiIvPjwvc3ZnPg%3D%3D" alt="Playwright 1.47 or newer"></a>
|
|
12
12
|
<a href="LICENSE"><img src="https://img.shields.io/badge/licence-GPL--2.0--or--later-ffc6d9?style=for-the-badge&logo=gnu&logoColor=white&labelColor=24273a" alt="GPL-2.0-or-later licence"></a>
|
|
13
13
|
</p>
|
|
14
14
|
|
|
@@ -35,7 +35,7 @@ which provides the database service and the commands.
|
|
|
35
35
|
## Requirements
|
|
36
36
|
|
|
37
37
|
- Node 22.12 or newer
|
|
38
|
-
- `@playwright/test` 1.
|
|
38
|
+
- `@playwright/test` 1.47 or newer, so a project that already runs Playwright keeps its
|
|
39
39
|
version and its screenshot baselines
|
|
40
40
|
- The Composer extension, installed in the same project
|
|
41
41
|
|
|
@@ -149,6 +149,20 @@ test('renders the page title', async ({ page, state }) => {
|
|
|
149
149
|
setup, and the other tests wait. If the setup fails, the tests are skipped with the
|
|
150
150
|
reason instead of failing because content is missing.
|
|
151
151
|
|
|
152
|
+
On an installation with several sites, name the site the scenario is about:
|
|
153
|
+
|
|
154
|
+
```ts
|
|
155
|
+
const test = defineScenario(async ({ builders }) => { /* … */ }, { site: 'shop' })
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Relative URLs then go to that site, and a new page goes under its root page. Without
|
|
159
|
+
`site`, a scenario uses the only site, or the one on your testing URL. To open another
|
|
160
|
+
site, build its URL with `siteURL('corporate', 'about')`.
|
|
161
|
+
|
|
162
|
+
A slug starts with `/`, so `page.goto(state.slug)` leaves out a path in the site's
|
|
163
|
+
base. On a site like `https://example.test/shop/`, navigate with
|
|
164
|
+
`page.goto(siteURL('shop', state.slug))`, which keeps it.
|
|
165
|
+
|
|
152
166
|
The `slug` you get back is the one the site stored, which is not always the one you
|
|
153
167
|
asked for. A translation and a name already in use are two cases, and an extension
|
|
154
168
|
can add more. Navigate with the returned value, never with the string you passed in.
|
|
@@ -213,6 +227,16 @@ so the failure points at the save and not at a later assertion. A `withField()`
|
|
|
213
227
|
that TCA does not have fails there too, naming the closest column that exists: TYPO3
|
|
214
228
|
would drop such a field without saying so, leaving the test without its content.
|
|
215
229
|
|
|
230
|
+
A save also fails when the backend form would not allow it for the user the test runs
|
|
231
|
+
as: an empty required field, too few or too many items, a number out of range, a value
|
|
232
|
+
shorter than the minimum, or a field the form does not show for the record's type and
|
|
233
|
+
values. The message names the field, for example `tt_content NEW1: "header" is required.`
|
|
234
|
+
A test that means to create such a record, say to cover an import, says so:
|
|
235
|
+
|
|
236
|
+
```ts
|
|
237
|
+
await builders.content().onPage(pageId).ofType('text').withoutFormRules().create()
|
|
238
|
+
```
|
|
239
|
+
|
|
216
240
|
<picture>
|
|
217
241
|
<source media="(max-width: 700px)" srcset="https://raw.githubusercontent.com/plan2net/typo3-playwright-toolkit/main/diagrams/scenario-fan-out-narrow.svg">
|
|
218
242
|
<img width="880" src="https://raw.githubusercontent.com/plan2net/typo3-playwright-toolkit/main/diagrams/scenario-fan-out.svg"
|
|
@@ -476,12 +500,18 @@ import { expectScreenshot } from '@plan2net/typo3-playwright-toolkit'
|
|
|
476
500
|
|
|
477
501
|
await expectScreenshot(page, 'my-page') // the whole page
|
|
478
502
|
await expectScreenshot(page, 'accordion', { include: '.accordion' }) // one element
|
|
503
|
+
await expectScreenshot(page, 'home', { hideAlso: ['.chat-widget'] }) // one more hidden
|
|
504
|
+
await expectScreenshot(page, 'header', { hide: [] }) // nothing hidden
|
|
479
505
|
```
|
|
480
506
|
|
|
507
|
+
`hideAlso` hides its selectors on top of `hideBeforeScreenshot`. `hide` replaces that
|
|
508
|
+
list instead, which is what a shot of an element the config hides needs.
|
|
509
|
+
|
|
481
510
|
The name carries no file extension; Playwright adds `.png` and the platform suffix
|
|
482
511
|
itself. The first run writes the missing image and fails, as Playwright always does.
|
|
483
512
|
Every other option is passed on to `toHaveScreenshot`, and the tolerances come from
|
|
484
|
-
`screenshot` in `defineToolkitConfig`.
|
|
513
|
+
`screenshot` in `defineToolkitConfig`. One shot can set its own, and a
|
|
514
|
+
`maxDiffPixelRatio` there replaces the configured count, as it does in the config.
|
|
485
515
|
|
|
486
516
|
> [!IMPORTANT]
|
|
487
517
|
> Images are stored in CSS pixels, which is Playwright's default. If your projects
|
|
@@ -606,6 +636,10 @@ Everything else:
|
|
|
606
636
|
| `setup.pollMs` | `100` | Gap between polls while waiting for a scenario |
|
|
607
637
|
| `setup.waitTimeoutMs` | `300000` | How long a test waits for its scenario in total, lock included |
|
|
608
638
|
|
|
639
|
+
`defineScenario(setup, options)` takes one option, `site`: the TYPO3 site identifier,
|
|
640
|
+
the folder name under `config/sites/`. `siteURL(identifier, path?)` answers the
|
|
641
|
+
address of `path` on that site, and throws for a site this run does not know.
|
|
642
|
+
|
|
609
643
|
`defineBasePlaywrightConfig` sets Playwright's `baseURL` to `testingURL` and adds
|
|
610
644
|
this package's setup and cleanup functions. Values in its second argument win, and
|
|
611
645
|
`use` and `expect` are merged instead of replaced. Four keys cannot be overridden
|
|
@@ -784,6 +818,12 @@ printed link expires: after 15 minutes, log in at your testing URL as usual, or
|
|
|
784
818
|
**"No test ID for this request".** The builder received a page that the toolkit
|
|
785
819
|
fixtures did not create. Use the `builders` argument of `defineScenario`.
|
|
786
820
|
|
|
821
|
+
**"The site … is unavailable".** Before the first test, the toolkit asks each site's
|
|
822
|
+
own hostname which test database and site answered. The reason says what came back
|
|
823
|
+
instead: a redirect, a page with no toolkit behind it (the host is not in the Testing
|
|
824
|
+
context), another installation, or another site. Check the site's Testing base variant
|
|
825
|
+
and that its hostname is set up as in step 1 of SETUP.md.
|
|
826
|
+
|
|
787
827
|
**Settings seem to be ignored.** `defineToolkitConfig` ran too late. It must be the
|
|
788
828
|
first thing in `playwright.config.ts`.
|
|
789
829
|
|
|
@@ -21,6 +21,7 @@ export declare class ContentBuilder {
|
|
|
21
21
|
export interface QueuedContent {
|
|
22
22
|
readonly identifier: string;
|
|
23
23
|
readonly targetPageId: string;
|
|
24
|
+
readonly skipsFormRules: boolean;
|
|
24
25
|
prepared(context: RequestContext, positionPid: string): {
|
|
25
26
|
row: Record<string, unknown>;
|
|
26
27
|
records: RecordDataMap;
|
|
@@ -32,12 +33,15 @@ declare class TypedContentBuilder<B extends ContentBuilderInterface = ContentBui
|
|
|
32
33
|
private requestContext?;
|
|
33
34
|
readonly identifier: string;
|
|
34
35
|
private builder;
|
|
36
|
+
private optedOutOfFormRules;
|
|
35
37
|
private readonly fields;
|
|
36
38
|
private readonly relations;
|
|
37
39
|
constructor(page: Page, pageId: string, type: string, requestContext?: Partial<RequestContext> | undefined);
|
|
38
40
|
get targetPageId(): string;
|
|
41
|
+
get skipsFormRules(): boolean;
|
|
39
42
|
configure(fn: (builder: B) => void): this;
|
|
40
43
|
withField(column: string, value: ContentFields[string]): this;
|
|
44
|
+
withoutFormRules(): this;
|
|
41
45
|
withFileReference(column: string, file: string | number, fields?: ContentFields): this;
|
|
42
46
|
withFileReferences(column: string, files: (string | number)[], fields?: ContentFields): this;
|
|
43
47
|
withChild(column: string, table: string, configure: (child: ChildRecord) => void): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-builder.d.ts","sourceRoot":"","sources":["../../src/builders/content-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,uBAAuB,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAEzF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAKjG,qBAAa,cAAc;IACvB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAyB;gBAE7C,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAKhE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B;;;OAGG;IACH,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC,uBAAuB,CAAC;CAWrE;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CACJ,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,GACpB;QAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAE,CAAA;CAC9D;AAED,cAAM,mBAAmB,CAAC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB,CACjF,YAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"content-builder.d.ts","sourceRoot":"","sources":["../../src/builders/content-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ class TypedContentBuilder {
|
|
|
31
31
|
requestContext;
|
|
32
32
|
identifier = newRecordIdentifier();
|
|
33
33
|
builder;
|
|
34
|
+
optedOutOfFormRules = false;
|
|
34
35
|
fields = {};
|
|
35
36
|
relations = new RelationSet('tt_content', (column) => column in this.fields);
|
|
36
37
|
constructor(page, pageId, type, requestContext) {
|
|
@@ -42,6 +43,9 @@ class TypedContentBuilder {
|
|
|
42
43
|
get targetPageId() {
|
|
43
44
|
return this.pageId;
|
|
44
45
|
}
|
|
46
|
+
get skipsFormRules() {
|
|
47
|
+
return this.optedOutOfFormRules;
|
|
48
|
+
}
|
|
45
49
|
configure(fn) {
|
|
46
50
|
fn(this.builder);
|
|
47
51
|
return this;
|
|
@@ -50,6 +54,10 @@ class TypedContentBuilder {
|
|
|
50
54
|
this.fields[column] = value;
|
|
51
55
|
return this;
|
|
52
56
|
}
|
|
57
|
+
withoutFormRules() {
|
|
58
|
+
this.optedOutOfFormRules = true;
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
53
61
|
withFileReference(column, file, fields = {}) {
|
|
54
62
|
this.relations.withFileReference(column, file, fields);
|
|
55
63
|
return this;
|
|
@@ -77,6 +85,7 @@ class TypedContentBuilder {
|
|
|
77
85
|
identifier: this.identifier,
|
|
78
86
|
target: Number(pageId),
|
|
79
87
|
data,
|
|
88
|
+
withoutFormRules: this.optedOutOfFormRules,
|
|
80
89
|
});
|
|
81
90
|
lastElementOnPage.get(this.page)?.set(pageId, saved.uid);
|
|
82
91
|
return { id: String(saved.uid) };
|
|
@@ -141,6 +150,7 @@ export async function saveBatch(page, requestContext, queued) {
|
|
|
141
150
|
identifier: queued[0].identifier,
|
|
142
151
|
target: Number(pageId),
|
|
143
152
|
data,
|
|
153
|
+
withoutFormRules: queued.some((element) => element.skipsFormRules),
|
|
144
154
|
});
|
|
145
155
|
const uids = saved.uids.slice(0, queued.length);
|
|
146
156
|
if (uids.length < queued.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-builder.js","sourceRoot":"","sources":["../../src/builders/content-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAsB,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAuB,MAAM,sBAAsB,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA6B,CAAA;AAElE,MAAM,OAAO,cAAc;IACf,IAAI,CAAM;IACV,MAAM,GAAG,EAAE,CAAA;IACF,cAAc,CAA0B;IAEzD,YAAY,IAAU,EAAE,cAAwC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,OAAO,IAAI,CAAA;IACf,CAAC;IAQD,MAAM,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACX,mEAAmE,IAAI,OAAO;gBAC1E,yDAAyD,CAChE,CAAA;QACL,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACrF,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"content-builder.js","sourceRoot":"","sources":["../../src/builders/content-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,12 +18,14 @@ export type Doktype = keyof typeof DOKTYPES;
|
|
|
18
18
|
export declare class PageBuilder {
|
|
19
19
|
protected fields: Fields;
|
|
20
20
|
private page;
|
|
21
|
+
private optedOutOfFormRules;
|
|
21
22
|
private readonly relations;
|
|
22
23
|
private readonly requestContext?;
|
|
23
24
|
constructor(page: Page, requestContext?: Partial<RequestContext>);
|
|
24
25
|
withTitle(title: string): this;
|
|
25
26
|
/** Any other TCA column — doktype, layout, backend_layout, shortcut_mode, … */
|
|
26
27
|
withField(column: string, value: string | number | boolean): this;
|
|
28
|
+
withoutFormRules(): this;
|
|
27
29
|
/** The test ID is appended so two runs never claim the same URL. */
|
|
28
30
|
withSlug(slug: string): this;
|
|
29
31
|
/** A file reference on any column, with the reference's own fields. */
|
|
@@ -40,7 +42,7 @@ export declare class PageBuilder {
|
|
|
40
42
|
id: string;
|
|
41
43
|
slug: string;
|
|
42
44
|
}>;
|
|
43
|
-
private
|
|
45
|
+
private rememberSlug;
|
|
44
46
|
}
|
|
45
47
|
export {};
|
|
46
48
|
//# sourceMappingURL=page-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-builder.d.ts","sourceRoot":"","sources":["../../src/builders/page-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAwD,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIhH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE,UAAU,MAAM;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAA;CACtE;AAED,QAAA,MAAM,QAAQ;;;;;;;;CAQJ,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"page-builder.d.ts","sourceRoot":"","sources":["../../src/builders/page-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAwD,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAIhH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE,UAAU,MAAM;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAA;CACtE;AAED,QAAA,MAAM,QAAQ;;;;;;;;CAQJ,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,QAAQ,CAAA;AAY3C,qBAAa,WAAW;IACpB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAE7B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8D;IACxF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAyB;gBAE7C,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAKhE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,+EAA+E;IAC/E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAKjE,gBAAgB,IAAI,IAAI;IAKxB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa5B,uEAAuE;IACvE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,IAAI;IAK1F,iFAAiF;IACjF,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAMzC,yDAAyD;IACzD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK/B,MAAM,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IA2B/C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBnE,OAAO,CAAC,YAAY;CAiBvB"}
|
|
@@ -19,15 +19,13 @@ const DOKTYPES = {
|
|
|
19
19
|
*/
|
|
20
20
|
const CREATE_DEFAULTS = {
|
|
21
21
|
doktype: 1,
|
|
22
|
-
shortcut_mode: 0,
|
|
23
22
|
pid: 1,
|
|
24
23
|
hidden: false,
|
|
25
|
-
layout: 0,
|
|
26
|
-
subtitle: '',
|
|
27
24
|
};
|
|
28
25
|
export class PageBuilder {
|
|
29
26
|
fields = {};
|
|
30
27
|
page;
|
|
28
|
+
optedOutOfFormRules = false;
|
|
31
29
|
relations = new RelationSet('pages', (column) => column in this.fields);
|
|
32
30
|
requestContext;
|
|
33
31
|
constructor(page, requestContext) {
|
|
@@ -43,6 +41,10 @@ export class PageBuilder {
|
|
|
43
41
|
this.fields[column] = value;
|
|
44
42
|
return this;
|
|
45
43
|
}
|
|
44
|
+
withoutFormRules() {
|
|
45
|
+
this.optedOutOfFormRules = true;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
46
48
|
/** The test ID is appended so two runs never claim the same URL. */
|
|
47
49
|
withSlug(slug) {
|
|
48
50
|
const testId = requireTestId(this.page, this.requestContext?.testId);
|
|
@@ -71,8 +73,7 @@ export class PageBuilder {
|
|
|
71
73
|
}
|
|
72
74
|
async create() {
|
|
73
75
|
const context = resolveRequestContext(this.page, this.requestContext);
|
|
74
|
-
this.
|
|
75
|
-
const fields = { ...CREATE_DEFAULTS, ...this.fields };
|
|
76
|
+
const fields = { ...CREATE_DEFAULTS, pid: context.rootPageId ?? CREATE_DEFAULTS.pid, ...this.fields };
|
|
76
77
|
const identifier = newRecordIdentifier();
|
|
77
78
|
const parentId = replayParentId(context, String(Number(fields.pid)));
|
|
78
79
|
const { columns, records } = this.relations.materialise({ pid: identifier, sys_language_uid: 0 });
|
|
@@ -85,7 +86,9 @@ export class PageBuilder {
|
|
|
85
86
|
identifier,
|
|
86
87
|
target: Number(parentId),
|
|
87
88
|
data,
|
|
89
|
+
withoutFormRules: this.optedOutOfFormRules,
|
|
88
90
|
});
|
|
91
|
+
this.rememberSlug(context, saved.slug);
|
|
89
92
|
// So its children keep it as their parent.
|
|
90
93
|
context.replayFolder?.ownPages.add(String(saved.uid));
|
|
91
94
|
return { id: String(saved.uid), slug: saved.slug ?? (this.fields.slug || '') };
|
|
@@ -100,21 +103,22 @@ export class PageBuilder {
|
|
|
100
103
|
identifier: pageId,
|
|
101
104
|
target: Number(pageId),
|
|
102
105
|
data,
|
|
106
|
+
withoutFormRules: this.optedOutOfFormRules,
|
|
103
107
|
});
|
|
104
108
|
return { id: pageId, slug: saved.slug ?? (this.fields.slug || '') };
|
|
105
109
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if ('string' !== typeof slug || '' === slug || !context.usedSlugs) {
|
|
110
|
+
rememberSlug(context, stored) {
|
|
111
|
+
const requested = this.fields.slug;
|
|
112
|
+
if ('string' !== typeof requested || '' === requested || !context.usedSlugs || undefined === stored) {
|
|
110
113
|
return;
|
|
111
114
|
}
|
|
112
|
-
if (context.usedSlugs.has(
|
|
113
|
-
throw new Error(`[typo3-playwright-toolkit] This scenario already created a page with the slug "${
|
|
114
|
-
|
|
115
|
-
'
|
|
115
|
+
if (stored !== requested && context.usedSlugs.has(requested)) {
|
|
116
|
+
throw new Error(`[typo3-playwright-toolkit] This scenario already created a page with the slug "${requested}". ` +
|
|
117
|
+
`TYPO3 stored this one as "${stored}", and every test reading it would land on the first page. ` +
|
|
118
|
+
'Give them distinct slugs.');
|
|
116
119
|
}
|
|
117
|
-
context.usedSlugs.add(
|
|
120
|
+
context.usedSlugs.add(stored);
|
|
121
|
+
context.usedSlugs.add(requested);
|
|
118
122
|
}
|
|
119
123
|
}
|
|
120
124
|
//# sourceMappingURL=page-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-builder.js","sourceRoot":"","sources":["../../src/builders/page-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAsB,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,qBAAqB,EAAuB,MAAM,sBAAsB,CAAA;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAM/C,MAAM,QAAQ,GAAG;IACb,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,sBAAsB,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;CACL,CAAA;AAIV;;;GAGG;AACH,MAAM,eAAe,GAAW;IAC5B,OAAO,EAAE,CAAC;IACV,
|
|
1
|
+
{"version":3,"file":"page-builder.js","sourceRoot":"","sources":["../../src/builders/page-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAsB,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,qBAAqB,EAAuB,MAAM,sBAAsB,CAAA;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAM/C,MAAM,QAAQ,GAAG;IACb,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,sBAAsB,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;CACL,CAAA;AAIV;;;GAGG;AACH,MAAM,eAAe,GAAW;IAC5B,OAAO,EAAE,CAAC;IACV,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,KAAK;CAChB,CAAA;AAED,MAAM,OAAO,WAAW;IACV,MAAM,GAAW,EAAE,CAAA;IAErB,IAAI,CAAM;IACV,mBAAmB,GAAG,KAAK,CAAA;IAClB,SAAS,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;IACvE,cAAc,CAA0B;IAEzD,YAAY,IAAU,EAAE,cAAwC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QACzB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,+EAA+E;IAC/E,SAAS,CAAC,MAAc,EAAE,KAAgC;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;QAC3B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QAC/B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,oEAAoE;IACpE,QAAQ,CAAC,IAAY;QACjB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QAEpE,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;QAC7D,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;QAE5F,yEAAyE;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,gBAAgB,EAAE,CAAC,MAAM;YACxC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,GAAG,cAAc,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAA;QACjD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,uEAAuE;IACvE,iBAAiB,CAAC,MAAc,EAAE,IAAqB,EAAE,SAAwB,EAAE;QAC/E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,iFAAiF;IACjF,WAAW,CAAC,IAAsB;QAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEtE,OAAO,IAAI,CAAA;IACf,CAAC;IAED,yDAAyD;IACzD,UAAU,CAAC,EAAmB;QAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACrE,MAAM,MAAM,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QACrG,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAA;QACxC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACpE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAA;QAEjG,MAAM,IAAI,GAAkB;YACxB,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;SACpF,CAAA;QACD,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAE3B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;YACvD,KAAK,EAAE,OAAO;YACd,UAAU;YACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;YACxB,IAAI;YACJ,gBAAgB,EAAE,IAAI,CAAC,mBAAmB;SAC7C,CAAC,CAAA;QACF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAEtC,2CAA2C;QAC3C,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAErD,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAE,IAAI,CAAC,MAAM,CAAC,IAAe,IAAI,EAAE,CAAC,EAAE,CAAA;IAC9F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACvB,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAErE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAA;QAC7F,MAAM,IAAI,GAAkB,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAA;QACnG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAE3B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;YACvD,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,MAAM;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,IAAI;YACJ,gBAAgB,EAAE,IAAI,CAAC,mBAAmB;SAC7C,CAAC,CAAA;QAEF,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAE,IAAI,CAAC,MAAM,CAAC,IAAe,IAAI,EAAE,CAAC,EAAE,CAAA;IACnF,CAAC;IAEO,YAAY,CAAC,OAAuB,EAAE,MAA0B;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;QAClC,IAAI,QAAQ,KAAK,OAAO,SAAS,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAClG,OAAM;QACV,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACX,kFAAkF,SAAS,KAAK;gBAC5F,6BAA6B,MAAM,6DAA6D;gBAChG,2BAA2B,CAClC,CAAA;QACL,CAAC;QAED,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACpC,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/builders/relations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,EAAE,aAAa,CAAA;CACzB;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAc3E;AAgBD,qBAAa,WAAW;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,KAAK,EAAE,MAAM;IAIzB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI;IAO7D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,IAAI;IAM1F,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAMvF,mFAAmF;IACnF,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/builders/relations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,EAAE,aAAa,CAAA;CACzB;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAc3E;AAgBD,qBAAa,WAAW;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,KAAK,EAAE,MAAM;IAIzB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI;IAO7D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,IAAI;IAM1F,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAMvF,mFAAmF;IACnF,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAE;CAQ9F;AAED,qBAAa,WAAW;IAMhB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IANhC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;gBAG9B,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAqB;IAG3E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,IAAI;IAQ1F,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAE,aAAkB,GAAG,IAAI;IAMhG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IASvF,YAAY,CAAC,CAAC,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,GACjD,IAAI;IAMP,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUtC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc;IAiCjD,OAAO,CAAC,KAAK;IAqBb,OAAO,CAAC,kBAAkB;CAU7B"}
|
|
@@ -35,8 +35,9 @@ export class ChildRecord {
|
|
|
35
35
|
}
|
|
36
36
|
/** Relations inherit from the merged row, so a pid the child sets reaches them. */
|
|
37
37
|
materialise(owner) {
|
|
38
|
-
const
|
|
39
|
-
const {
|
|
38
|
+
const language = 0 === Number(owner.sys_language_uid) ? {} : { sys_language_uid: owner.sys_language_uid };
|
|
39
|
+
const row = { pid: owner.pid, ...language, ...this.fields };
|
|
40
|
+
const { columns, records } = this.relations.materialise({ sys_language_uid: owner.sys_language_uid, ...row });
|
|
40
41
|
return { row: { ...row, ...columns }, records };
|
|
41
42
|
}
|
|
42
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/builders/relations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAYrD,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAA;AAEhG,MAAM,UAAU,YAAY,CAAC,IAAmB,EAAE,IAAmB;IACjE,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QACrC,KAAK,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACX,8DAA8D;oBAC1D,IAAI,UAAU,QAAQ,KAAK,sCAAsC;oBACjE,iCAAiC,CACxC,CAAA;YACL,CAAC;YACD,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,CAAA;QAC9B,CAAC;IACL,CAAC;AACL,CAAC;AAgBD,MAAM,OAAO,WAAW;IACH,MAAM,GAAkB,EAAE,CAAA;IAC1B,SAAS,CAAa;IAEvC,YAAY,KAAa;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;IAC9E,CAAC;IAED,SAAS,CAAC,MAAc,EAAE,KAA4B;QAClD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;QAE3B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,iBAAiB,CAAC,MAAc,EAAE,IAAqB,EAAE,SAAwB,EAAE;QAC/E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAEtD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,SAAS,CAAC,MAAc,EAAE,KAAa,EAAE,SAAuC;QAC5E,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;QAElD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,mFAAmF;IACnF,WAAW,CAAC,KAAoB;QAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/builders/relations.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export interface RequestContext {
|
|
|
15
15
|
replayFolder?: ReplayFolder;
|
|
16
16
|
/** Slugs this scenario already created. */
|
|
17
17
|
usedSlugs?: Set<string>;
|
|
18
|
+
rootPageId?: number;
|
|
18
19
|
}
|
|
19
20
|
/** A fixture page as parent means the record moves into the folder; one the scenario made keeps it. */
|
|
20
21
|
export declare function replayParentId(context: RequestContext, parentId: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/builders/request-context.ts"],"names":[],"mappings":"AAGA,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,WAAW,CAAA;AAE5C,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/builders/request-context.ts"],"names":[],"mappings":"AAGA,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,WAAW,CAAA;AAE5C,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,8FAA8F;IAC9F,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,2CAA2C;IAC3C,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,uGAAuG;AACvG,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIhF;AAED,MAAM,WAAW,oBAAoB;IACjC,GAAG,IAAI,MAAM,CAAA;IACb,OAAO,IAAI,OAAO,CAAA;CACrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAM5E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAWnF;AAED,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,GAAE,OAAO,CAAC,cAAc,CAAM,GACvC,cAAc,CAYhB"}
|
|
@@ -28,6 +28,7 @@ export function resolveRequestContext(page, explicit = {}) {
|
|
|
28
28
|
return {
|
|
29
29
|
replayFolder: explicit.replayFolder,
|
|
30
30
|
usedSlugs: explicit.usedSlugs,
|
|
31
|
+
rootPageId: explicit.rootPageId,
|
|
31
32
|
// Never derived from page.url(): the request carries the API secret, and a
|
|
32
33
|
// page that navigated off-site must not decide where the builder posts it.
|
|
33
34
|
baseUrl: explicit.baseUrl ?? getToolkitConfig().testingURL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../src/builders/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C,wFAAwF;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../src/builders/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAG/C,wFAAwF;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAA;AAqB5C,uGAAuG;AACvG,MAAM,UAAU,cAAc,CAAC,OAAuB,EAAE,QAAgB;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAA;IAEnC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC1E,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAA0B;IACpD,OAAO,CACF,IAAkC,CAAC,MAAM;QACzC,IAAI,CAAC,OAAO,EAAwB,CAAC,MAAM;QAC5C,SAAS,CACZ,CAAA;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA0B,EAAE,QAAiB;IACvE,MAAM,MAAM,GAAG,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAEpD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACX,8FAA8F;YAC1F,gFAAgF,CACvF,CAAA;IACL,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,IAA0B,EAC1B,WAAoC,EAAE;IAEtC,OAAO;QACH,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,2EAA2E;QAC3E,2EAA2E;QAC3E,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC,UAAU;QAC1D,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,oBAAoB;QACzD,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QAC5C,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;KACxC,CAAA;AACL,CAAC"}
|
package/dist/checks/csp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csp.d.ts","sourceRoot":"","sources":["../../src/checks/csp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"csp.d.ts","sourceRoot":"","sources":["../../src/checks/csp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAI7E,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,aAAa,GAAG,UAAU,CAAA;AAExD,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,uCAAuC,CAAA;IACpD,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;CACd;AAQD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAY7F;AAED,wBAAgB,YAAY,CACxB,QAAQ,EAAE,cAAc,EAAE,EAC1B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,MAAM,GACvB,MAAM,EAAE,CAmCV;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CA0BvE;AAED,qBAAa,WAAW;IAShB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,SAAS,CAAQ;gBAGJ,OAAO,EAAE,cAAc,EACxC,OAAO,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAO;IAWvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+DxB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,SAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ClF,OAAO,CAAC,gBAAgB;CAO3B"}
|
package/dist/checks/csp.js
CHANGED
|
@@ -84,7 +84,10 @@ export class CspVerifier {
|
|
|
84
84
|
this.context = context;
|
|
85
85
|
const config = getToolkitConfig();
|
|
86
86
|
this.expectedOrigin =
|
|
87
|
-
options.expectedOrigin ??
|
|
87
|
+
options.expectedOrigin ??
|
|
88
|
+
config.csp?.expectedOrigin ??
|
|
89
|
+
context.site?.origin ??
|
|
90
|
+
new URL(config.testingURL).origin;
|
|
88
91
|
this.mode = options.mode ?? config.csp?.mode ?? 'any';
|
|
89
92
|
}
|
|
90
93
|
async install() {
|
package/dist/checks/csp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csp.js","sourceRoot":"","sources":["../../src/checks/csp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAsC,MAAM,kBAAkB,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"csp.js","sourceRoot":"","sources":["../../src/checks/csp.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,8 +50,10 @@ export interface ScreenshotOptions extends ScreenshotComparisonOptions {
|
|
|
50
50
|
include?: string;
|
|
51
51
|
/** Replaces `hideBeforeScreenshot` for this shot; `[]` hides nothing. */
|
|
52
52
|
hide?: string[];
|
|
53
|
+
/** Hidden on top of whatever `hide` or the config leaves standing. */
|
|
54
|
+
hideAlso?: string[];
|
|
53
55
|
}
|
|
54
|
-
export declare function hiddenSelectors(configured: string[] | undefined, perCall: string[] | undefined): string[];
|
|
56
|
+
export declare function hiddenSelectors(configured: string[] | undefined, perCall: string[] | undefined, alsoPerCall?: string[] | undefined): string[];
|
|
55
57
|
export declare function expectScreenshot(target: Page | Locator, name: string, options?: ScreenshotOptions): Promise<void>;
|
|
56
58
|
export declare function comparisonOptions(wholePage: boolean, perCall: ScreenshotComparisonOptions): ScreenshotComparisonOptions;
|
|
57
59
|
//# sourceMappingURL=screenshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/checks/screenshot.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/checks/screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -267,16 +267,16 @@ export function resolveScreenshotTarget(target, include) {
|
|
|
267
267
|
}
|
|
268
268
|
return { shot: target, wholePage: !('page' in target) };
|
|
269
269
|
}
|
|
270
|
-
export function hiddenSelectors(configured, perCall) {
|
|
271
|
-
return perCall ?? configured ?? [];
|
|
270
|
+
export function hiddenSelectors(configured, perCall, alsoPerCall = undefined) {
|
|
271
|
+
return [...(perCall ?? configured ?? []), ...(alsoPerCall ?? [])];
|
|
272
272
|
}
|
|
273
273
|
export async function expectScreenshot(target, name, options = {}) {
|
|
274
274
|
const config = getToolkitConfig();
|
|
275
|
-
const { include, hide, ...screenshotOptions } = options;
|
|
275
|
+
const { include, hide, hideAlso, ...screenshotOptions } = options;
|
|
276
276
|
const { shot, wholePage } = resolveScreenshotTarget(target, include);
|
|
277
277
|
const page = 'page' in target ? target.page() : target;
|
|
278
278
|
const injected = [await page.addStyleTag({ content: CAPTURE_STYLES })];
|
|
279
|
-
const hideStyles = buildHideStyles(hiddenSelectors(config.hideBeforeScreenshot, hide));
|
|
279
|
+
const hideStyles = buildHideStyles(hiddenSelectors(config.hideBeforeScreenshot, hide, hideAlso));
|
|
280
280
|
if (hideStyles) {
|
|
281
281
|
injected.push(await page.addStyleTag({ content: hideStyles }));
|
|
282
282
|
}
|
|
@@ -319,6 +319,9 @@ export function comparisonOptions(wholePage, perCall) {
|
|
|
319
319
|
animations: 'disabled',
|
|
320
320
|
timeout: 15000,
|
|
321
321
|
...(wholePage ? { fullPage: true } : {}),
|
|
322
|
+
// Playwright compares against the smaller allowance, so a ratio has to clear
|
|
323
|
+
// the configured count.
|
|
324
|
+
...(undefined !== perCall.maxDiffPixelRatio ? { maxDiffPixels: undefined } : {}),
|
|
322
325
|
...perCall,
|
|
323
326
|
};
|
|
324
327
|
}
|