@plan2net/typo3-playwright-toolkit 0.25.0 → 0.27.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.
Files changed (72) hide show
  1. package/README.md +174 -2
  2. package/dist/backend.d.ts +8 -0
  3. package/dist/backend.d.ts.map +1 -0
  4. package/dist/backend.js +27 -0
  5. package/dist/backend.js.map +1 -0
  6. package/dist/builders/content-builder.d.ts +26 -1
  7. package/dist/builders/content-builder.d.ts.map +1 -1
  8. package/dist/builders/content-builder.js +77 -5
  9. package/dist/builders/content-builder.js.map +1 -1
  10. package/dist/builders/fields.d.ts +5 -0
  11. package/dist/builders/fields.d.ts.map +1 -1
  12. package/dist/builders/fields.js +7 -0
  13. package/dist/builders/fields.js.map +1 -1
  14. package/dist/builders/file-metadata-builder.d.ts +18 -0
  15. package/dist/builders/file-metadata-builder.d.ts.map +1 -0
  16. package/dist/builders/file-metadata-builder.js +54 -0
  17. package/dist/builders/file-metadata-builder.js.map +1 -0
  18. package/dist/builders/page-builder.d.ts +14 -0
  19. package/dist/builders/page-builder.d.ts.map +1 -1
  20. package/dist/builders/page-builder.js +55 -3
  21. package/dist/builders/page-builder.js.map +1 -1
  22. package/dist/builders/relations.d.ts +14 -1
  23. package/dist/builders/relations.d.ts.map +1 -1
  24. package/dist/builders/relations.js +38 -9
  25. package/dist/builders/relations.js.map +1 -1
  26. package/dist/builders/request-context.d.ts +2 -0
  27. package/dist/builders/request-context.d.ts.map +1 -1
  28. package/dist/builders/request-context.js +1 -0
  29. package/dist/builders/request-context.js.map +1 -1
  30. package/dist/contract.d.ts +1 -0
  31. package/dist/contract.d.ts.map +1 -1
  32. package/dist/contract.js +1 -0
  33. package/dist/contract.js.map +1 -1
  34. package/dist/global-setup.d.ts.map +1 -1
  35. package/dist/global-setup.js +3 -3
  36. package/dist/global-setup.js.map +1 -1
  37. package/dist/http/off-site-headers.d.ts +8 -2
  38. package/dist/http/off-site-headers.d.ts.map +1 -1
  39. package/dist/http/off-site-headers.js +31 -9
  40. package/dist/http/off-site-headers.js.map +1 -1
  41. package/dist/http/record-commit.d.ts +24 -0
  42. package/dist/http/record-commit.d.ts.map +1 -0
  43. package/dist/http/record-commit.js +34 -0
  44. package/dist/http/record-commit.js.map +1 -0
  45. package/dist/http/record-edit.d.ts +27 -0
  46. package/dist/http/record-edit.d.ts.map +1 -1
  47. package/dist/http/record-edit.js +34 -4
  48. package/dist/http/record-edit.js.map +1 -1
  49. package/dist/http/site-settings.d.ts +15 -0
  50. package/dist/http/site-settings.d.ts.map +1 -0
  51. package/dist/http/site-settings.js +27 -0
  52. package/dist/http/site-settings.js.map +1 -0
  53. package/dist/http/test-api.d.ts +2 -0
  54. package/dist/http/test-api.d.ts.map +1 -1
  55. package/dist/http/test-api.js +10 -0
  56. package/dist/http/test-api.js.map +1 -1
  57. package/dist/index.d.ts +5 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +4 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/media/media-manifest.d.ts +3 -0
  62. package/dist/media/media-manifest.d.ts.map +1 -1
  63. package/dist/media/media-manifest.js +27 -10
  64. package/dist/media/media-manifest.js.map +1 -1
  65. package/dist/scenario.d.ts +20 -1
  66. package/dist/scenario.d.ts.map +1 -1
  67. package/dist/scenario.js +21 -7
  68. package/dist/scenario.js.map +1 -1
  69. package/dist/sites/probe.d.ts.map +1 -1
  70. package/dist/sites/probe.js +3 -2
  71. package/dist/sites/probe.js.map +1 -1
  72. package/package.json +1 -1
@@ -0,0 +1,54 @@
1
+ import { getToolkitConfig } from '../config.js';
2
+ import { translateRecord } from '../http/record-commit.js';
3
+ import { saveRecord } from '../http/record-edit.js';
4
+ import { resolveMetadataUid } from '../media/media-manifest.js';
5
+ import { toColumnValues } from './fields.js';
6
+ import { resolveRequestContext } from './request-context.js';
7
+ export class FileMetadataBuilder {
8
+ page;
9
+ name;
10
+ requestContext;
11
+ language;
12
+ fields = {};
13
+ constructor(page, name, requestContext) {
14
+ this.page = page;
15
+ this.name = name;
16
+ this.requestContext = requestContext;
17
+ if ('string' !== typeof name) {
18
+ throw new Error(`[typo3-playwright-toolkit] fileMetadata() takes the name of a media fixture, not ${String(name)}: ` +
19
+ 'a file uid does not say which metadata record belongs to it.');
20
+ }
21
+ }
22
+ withField(column, value) {
23
+ this.fields[column] = value;
24
+ return this;
25
+ }
26
+ /** Makes create() translate the metadata the way the backend does, then fill the translation. */
27
+ translate(language) {
28
+ this.language = language;
29
+ return this;
30
+ }
31
+ async create() {
32
+ const context = resolveRequestContext(this.page, this.requestContext);
33
+ let uid = resolveMetadataUid(getToolkitConfig(), this.name);
34
+ if (undefined !== this.language) {
35
+ uid = (await translateRecord(this.page.request, context, {
36
+ table: 'sys_file_metadata',
37
+ uid,
38
+ language: this.language,
39
+ mode: 'localize',
40
+ })).uid;
41
+ }
42
+ const row = toColumnValues(this.fields);
43
+ if (Object.keys(row).length > 0) {
44
+ await saveRecord(this.page.request, context, {
45
+ table: 'sys_file_metadata',
46
+ identifier: String(uid),
47
+ target: uid,
48
+ data: { sys_file_metadata: { [String(uid)]: row } },
49
+ });
50
+ }
51
+ return { id: String(uid) };
52
+ }
53
+ }
54
+ //# sourceMappingURL=file-metadata-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-metadata-builder.js","sourceRoot":"","sources":["../../src/builders/file-metadata-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAuB,MAAM,sBAAsB,CAAA;AAEjF,MAAM,OAAO,mBAAmB;IAKP;IACA;IACA;IANb,QAAQ,CAAS;IACR,MAAM,GAAkB,EAAE,CAAA;IAE3C,YACqB,IAAU,EACV,IAAY,EACZ,cAAwC;QAFxC,SAAI,GAAJ,IAAI,CAAM;QACV,SAAI,GAAJ,IAAI,CAAQ;QACZ,mBAAc,GAAd,cAAc,CAA0B;QAEzD,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACX,oFAAoF,MAAM,CAAC,IAAI,CAAC,IAAI;gBAChG,8DAA8D,CACrE,CAAA;QACL,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAc,EAAE,KAA4B;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;QAE3B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,iGAAiG;IACjG,SAAS,CAAC,QAAgB;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAExB,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,IAAI,GAAG,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAE3D,IAAI,SAAS,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,GAAG,GAAG,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;gBACrD,KAAK,EAAE,mBAAmB;gBAC1B,GAAG;gBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,UAAU;aACnB,CAAC,CAAC,CAAC,GAAG,CAAA;QACX,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACvC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;gBACzC,KAAK,EAAE,mBAAmB;gBAC1B,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;gBACvB,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;aACtD,CAAC,CAAA;QACN,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IAC9B,CAAC;CACJ"}
@@ -15,10 +15,14 @@ declare const DOKTYPES: {
15
15
  readonly folder: 254;
16
16
  };
17
17
  export type Doktype = keyof typeof DOKTYPES;
18
+ /** TYPO3 hides what it translates, for an editor to check first. */
19
+ export declare const TRANSLATION_DEFAULTS: Fields;
18
20
  export declare class PageBuilder {
19
21
  protected fields: Fields;
20
22
  private page;
21
23
  private optedOutOfFormRules;
24
+ private translation?;
25
+ private readonly copiedEdits;
22
26
  private readonly relations;
23
27
  private readonly requestContext?;
24
28
  constructor(page: Page, requestContext?: Partial<RequestContext>);
@@ -30,6 +34,13 @@ export declare class PageBuilder {
30
34
  withSlug(slug: string): this;
31
35
  /** A file reference on any column, with the reference's own fields. */
32
36
  withFileReference(column: string, file: string | number, fields?: ContentFields): this;
37
+ /**
38
+ * Makes create() translate the page the way the backend does, connected to it.
39
+ * The other setters then fill the translation.
40
+ */
41
+ translate(pageId: number | string, language: number): this;
42
+ /** Changes the reference the translation copied from that position (from 0) of the origin's column. */
43
+ withCopiedFileReference(column: string, position: number, fields: ContentFields): this;
33
44
  /** A name core ships, or a number if your project registered its own doktype. */
34
45
  withDoktype(type: Doktype | number): this;
35
46
  /** A string too, since that is what create() reports. */
@@ -38,10 +49,13 @@ export declare class PageBuilder {
38
49
  id: string;
39
50
  slug: string;
40
51
  }>;
52
+ /** Saves the page as create() does, for a test that expects the backend to refuse it: TYPO3's reasons. */
53
+ refusal(): Promise<string[]>;
41
54
  update(pageId: string): Promise<{
42
55
  id: string;
43
56
  slug: string;
44
57
  }>;
58
+ private createTranslation;
45
59
  private rememberSlug;
46
60
  }
47
61
  export {};
@@ -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;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"}
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;AAKhH,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,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,EAAE,MAA0B,CAAA;AAE7D,qBAAa,WAAW;IACpB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAE7B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,WAAW,CAAC,CAAsC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,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;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM1D,uGAAuG;IACvG,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAMtF,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;IA+BrD,0GAA0G;IAC1G,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAItB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;YAkBrD,iBAAiB;IAsC/B,OAAO,CAAC,YAAY;CAiBvB"}
@@ -1,8 +1,9 @@
1
- import { saveRecord } from '../http/record-edit.js';
1
+ import { refusalOf, saveRecord } from '../http/record-edit.js';
2
2
  import { replayParentId, requireTestId, resolveRequestContext } from './request-context.js';
3
- import { toColumnValues } from './fields.js';
3
+ import { ownValues, toColumnValues } from './fields.js';
4
4
  import { newRecordIdentifier } from './identifier.js';
5
- import { mergeRecords, RelationSet } from './relations.js';
5
+ import { keepCopies, mergeRecords, RelationSet } from './relations.js';
6
+ import { translateRecord } from '../http/record-commit.js';
6
7
  import { getToolkitConfig } from '../config.js';
7
8
  const DOKTYPES = {
8
9
  page: 1,
@@ -22,10 +23,14 @@ const CREATE_DEFAULTS = {
22
23
  pid: 1,
23
24
  hidden: false,
24
25
  };
26
+ /** TYPO3 hides what it translates, for an editor to check first. */
27
+ export const TRANSLATION_DEFAULTS = { hidden: false };
25
28
  export class PageBuilder {
26
29
  fields = {};
27
30
  page;
28
31
  optedOutOfFormRules = false;
32
+ translation;
33
+ copiedEdits = [];
29
34
  relations = new RelationSet('pages', (column) => column in this.fields);
30
35
  requestContext;
31
36
  constructor(page, requestContext) {
@@ -61,6 +66,19 @@ export class PageBuilder {
61
66
  this.relations.withFileReference(column, file, fields);
62
67
  return this;
63
68
  }
69
+ /**
70
+ * Makes create() translate the page the way the backend does, connected to it.
71
+ * The other setters then fill the translation.
72
+ */
73
+ translate(pageId, language) {
74
+ this.translation = { origin: Number(pageId), language };
75
+ return this;
76
+ }
77
+ /** Changes the reference the translation copied from that position (from 0) of the origin's column. */
78
+ withCopiedFileReference(column, position, fields) {
79
+ this.copiedEdits.push({ column, position, fields });
80
+ return this;
81
+ }
64
82
  /** A name core ships, or a number if your project registered its own doktype. */
65
83
  withDoktype(type) {
66
84
  this.fields.doktype = 'number' === typeof type ? type : DOKTYPES[type];
@@ -72,6 +90,9 @@ export class PageBuilder {
72
90
  return this;
73
91
  }
74
92
  async create() {
93
+ if (undefined !== this.translation) {
94
+ return this.createTranslation(this.translation);
95
+ }
75
96
  const context = resolveRequestContext(this.page, this.requestContext);
76
97
  const fields = { ...CREATE_DEFAULTS, pid: context.rootPageId ?? CREATE_DEFAULTS.pid, ...this.fields };
77
98
  const identifier = newRecordIdentifier();
@@ -93,6 +114,10 @@ export class PageBuilder {
93
114
  context.replayFolder?.ownPages.add(String(saved.uid));
94
115
  return { id: String(saved.uid), slug: saved.slug ?? (this.fields.slug || '') };
95
116
  }
117
+ /** Saves the page as create() does, for a test that expects the backend to refuse it: TYPO3's reasons. */
118
+ refusal() {
119
+ return refusalOf(() => this.create());
120
+ }
96
121
  async update(pageId) {
97
122
  const context = resolveRequestContext(this.page, this.requestContext);
98
123
  const { columns, records } = this.relations.materialise({ pid: pageId, sys_language_uid: 0 });
@@ -107,6 +132,33 @@ export class PageBuilder {
107
132
  });
108
133
  return { id: pageId, slug: saved.slug ?? (this.fields.slug || '') };
109
134
  }
135
+ async createTranslation(translation) {
136
+ if ('pid' in this.fields || 'doktype' in this.fields) {
137
+ throw new Error('[typo3-playwright-toolkit] A page translation takes its parent and its type from the page it ' +
138
+ 'translates. Leave out atParentId() and withDoktype().');
139
+ }
140
+ const context = resolveRequestContext(this.page, this.requestContext);
141
+ const translated = await translateRecord(this.page.request, context, {
142
+ table: 'pages',
143
+ uid: translation.origin,
144
+ language: translation.language,
145
+ mode: 'localize',
146
+ });
147
+ const id = String(translated.uid);
148
+ const { columns, records } = keepCopies(this.relations.materialise({ pid: translated.uid, sys_language_uid: translation.language }), translated, this.copiedEdits);
149
+ const row = { ...toColumnValues({ ...TRANSLATION_DEFAULTS, ...this.fields }), ...columns };
150
+ const data = { pages: { [id]: { ...row, l10n_state: ownValues(Object.keys(row)) } } };
151
+ mergeRecords(data, records);
152
+ const saved = await saveRecord(this.page.request, context, {
153
+ table: 'pages',
154
+ identifier: id,
155
+ target: translated.uid,
156
+ data,
157
+ withoutFormRules: this.optedOutOfFormRules,
158
+ });
159
+ this.rememberSlug(context, saved.slug);
160
+ return { id, slug: saved.slug ?? translated.slug ?? '' };
161
+ }
110
162
  rememberSlug(context, stored) {
111
163
  const requested = this.fields.slug;
112
164
  if ('string' !== typeof requested || '' === requested || !context.usedSlugs || undefined === stored) {
@@ -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,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
+ {"version":3,"file":"page-builder.js","sourceRoot":"","sources":["../../src/builders/page-builder.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,20 @@ export interface RelationOutput {
9
9
  records: RecordDataMap;
10
10
  }
11
11
  export declare function mergeRecords(into: RecordDataMap, from: RecordDataMap): void;
12
+ export interface CopiedReferenceEdit {
13
+ column: string;
14
+ position: number;
15
+ fields: ContentFields;
16
+ }
17
+ export interface CopiedReferences {
18
+ references: Record<string, number[]>;
19
+ truncated: boolean;
20
+ }
21
+ /**
22
+ * A file column posts every reference it keeps: one the post leaves out stays
23
+ * attached in a slot the new ones then share, so a translation lists its copies first.
24
+ */
25
+ export declare function keepCopies(output: RelationOutput, copied: CopiedReferences, edits: CopiedReferenceEdit[]): RelationOutput;
12
26
  export declare class ChildRecord {
13
27
  private readonly fields;
14
28
  private readonly relations;
@@ -36,6 +50,5 @@ export declare class RelationSet {
36
50
  refuseColumnHeld(column: string): void;
37
51
  materialise(owner: RelationOwner): RelationOutput;
38
52
  private claim;
39
- private refuseWiredColumns;
40
53
  }
41
54
  //# sourceMappingURL=relations.d.ts.map
@@ -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;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"}
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;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,aAAa,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACpC,SAAS,EAAE,OAAO,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACtB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,mBAAmB,EAAE,GAC7B,cAAc,CAkChB;AA2BD,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;CAoBhB"}
@@ -14,6 +14,43 @@ export function mergeRecords(into, from) {
14
14
  }
15
15
  }
16
16
  }
17
+ /**
18
+ * A file column posts every reference it keeps: one the post leaves out stays
19
+ * attached in a slot the new ones then share, so a translation lists its copies first.
20
+ */
21
+ export function keepCopies(output, copied, edits) {
22
+ const touched = [...new Set([...Object.keys(output.columns), ...edits.map(({ column }) => column)])];
23
+ if (copied.truncated && touched.length > 0) {
24
+ throw new Error(`[typo3-playwright-toolkit] The translation copied too many references to report, so ` +
25
+ `${touched.join(', ')} cannot be changed without losing their order. Set fields only, ` +
26
+ 'or give the origin fewer references.');
27
+ }
28
+ const records = {};
29
+ mergeRecords(records, output.records);
30
+ for (const { column, position, fields } of edits) {
31
+ refuseWiredColumns(fields);
32
+ const copies = copied.references[column] ?? [];
33
+ const copy = copies[position];
34
+ if (undefined === copy) {
35
+ throw new Error(`[typo3-playwright-toolkit] The translation copied ${copies.length} references in ${column}, ` +
36
+ `so there is none at position ${position}. Positions count from 0.`);
37
+ }
38
+ mergeRecords(records, { sys_file_reference: { [String(copy)]: fields } });
39
+ }
40
+ const columns = Object.fromEntries(touched.map((column) => {
41
+ const added = output.columns[column] ? output.columns[column].split(',') : [];
42
+ return [column, [...(copied.references[column] ?? []).map(String), ...added].join(',')];
43
+ }));
44
+ return { columns, records };
45
+ }
46
+ function refuseWiredColumns(fields) {
47
+ const wired = Object.keys(fields).filter((column) => WIRED_COLUMNS.includes(column));
48
+ if (wired.length > 0) {
49
+ throw new Error(`[typo3-playwright-toolkit] ${wired.join(', ')} cannot be set on a relation — ` +
50
+ 'the toolkit writes it, and a value of your own would point the row ' +
51
+ 'somewhere the parent column does not.');
52
+ }
53
+ }
17
54
  export class ChildRecord {
18
55
  fields = {};
19
56
  relations;
@@ -52,7 +89,7 @@ export class RelationSet {
52
89
  this.isColumnSet = isColumnSet;
53
90
  }
54
91
  withFileReference(column, file, fields = {}) {
55
- this.refuseWiredColumns(fields);
92
+ refuseWiredColumns(fields);
56
93
  this.claim(column, 'sys_file_reference');
57
94
  this.references.push({ column, identifier: newRecordIdentifier(), fileUid: mediaUid(file), fields });
58
95
  return this;
@@ -120,13 +157,5 @@ export class RelationSet {
120
157
  }
121
158
  this.claims.set(column, table);
122
159
  }
123
- refuseWiredColumns(fields) {
124
- const wired = Object.keys(fields).filter((column) => WIRED_COLUMNS.includes(column));
125
- if (wired.length > 0) {
126
- throw new Error(`[typo3-playwright-toolkit] ${wired.join(', ')} cannot be set on a relation — ` +
127
- 'the toolkit writes it, and a value of your own would point the row ' +
128
- 'somewhere the parent column does not.');
129
- }
130
- }
131
160
  }
132
161
  //# sourceMappingURL=relations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/builders/relations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/builders/relations.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface RequestContext {
10
10
  testId: string;
11
11
  /** For `record_edit`; the session endpoint hands it out. */
12
12
  routeToken: string;
13
+ /** For `tce_db`, which runs a command such as a translation. */
14
+ commandToken?: string;
13
15
  replayFolder?: ReplayFolder;
14
16
  /** Slugs this scenario already created. */
15
17
  usedSlugs?: Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/builders/request-context.ts"],"names":[],"mappings":"AAIA,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"}
1
+ {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/builders/request-context.ts"],"names":[],"mappings":"AAIA,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,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,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,CAahB"}
@@ -34,6 +34,7 @@ export function resolveRequestContext(page, explicit = {}) {
34
34
  backendPath: explicit.backendPath ?? getToolkitConfig().backendPath ?? DEFAULT_BACKEND_PATH,
35
35
  testId: requireTestId(page, explicit.testId),
36
36
  routeToken: explicit.routeToken ?? '',
37
+ commandToken: explicit.commandToken ?? '',
37
38
  };
38
39
  }
39
40
  //# sourceMappingURL=request-context.js.map
@@ -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;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAqB1D,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,gBAAgB,EAAE,CAAC,WAAW,IAAI,oBAAoB;QAC3F,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QAC5C,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;KACxC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../src/builders/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAuB1D,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,gBAAgB,EAAE,CAAC,WAAW,IAAI,oBAAoB;QAC3F,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QAC5C,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;QACrC,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,EAAE;KAC5C,CAAA;AACL,CAAC"}
@@ -4,6 +4,7 @@ export declare const TEST_ID_PATTERN: RegExp;
4
4
  /** JSON, so a value stays ASCII in a header field and a later field needs no second header. */
5
5
  export declare const SAVED_RECORD_HEADER = "X-Playwright-Saved-Record";
6
6
  export declare const RECORD_DIAGNOSTICS_HEADER = "X-Playwright-Record-Diagnostics";
7
+ export declare const TRANSLATED_RECORD_HEADER = "X-Playwright-Translated-Record";
7
8
  export declare const SKIP_FORM_RULES_HEADER = "X-Playwright-Skip-Form-Rules";
8
9
  export declare const PROBE_HEADER = "X-Playwright-Probe";
9
10
  /** Replay's own test ID; the extension maps it to the throwaway base database. */
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,eAAO,MAAM,cAAc,yBAAyB,CAAA;AACpD,eAAO,MAAM,eAAe,QAAmB,CAAA;AAE/C,+FAA+F;AAC/F,eAAO,MAAM,mBAAmB,8BAA8B,CAAA;AAC9D,eAAO,MAAM,yBAAyB,oCAAoC,CAAA;AAC1E,eAAO,MAAM,sBAAsB,iCAAiC,CAAA;AACpE,eAAO,MAAM,YAAY,uBAAuB,CAAA;AAEhD,kFAAkF;AAClF,eAAO,MAAM,cAAc,qBAAqB,CAAA;AAKhD,wBAAgB,cAAc,IAAI,MAAM,CAMvC;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK5F;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAErE"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,eAAO,MAAM,cAAc,yBAAyB,CAAA;AACpD,eAAO,MAAM,eAAe,QAAmB,CAAA;AAE/C,+FAA+F;AAC/F,eAAO,MAAM,mBAAmB,8BAA8B,CAAA;AAC9D,eAAO,MAAM,yBAAyB,oCAAoC,CAAA;AAC1E,eAAO,MAAM,wBAAwB,mCAAmC,CAAA;AACxE,eAAO,MAAM,sBAAsB,iCAAiC,CAAA;AACpE,eAAO,MAAM,YAAY,uBAAuB,CAAA;AAEhD,kFAAkF;AAClF,eAAO,MAAM,cAAc,qBAAqB,CAAA;AAKhD,wBAAgB,cAAc,IAAI,MAAM,CAMvC;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK5F;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAErE"}
package/dist/contract.js CHANGED
@@ -5,6 +5,7 @@ export const TEST_ID_PATTERN = /^[A-Z0-9]{16}$/;
5
5
  /** JSON, so a value stays ASCII in a header field and a later field needs no second header. */
6
6
  export const SAVED_RECORD_HEADER = 'X-Playwright-Saved-Record';
7
7
  export const RECORD_DIAGNOSTICS_HEADER = 'X-Playwright-Record-Diagnostics';
8
+ export const TRANSLATED_RECORD_HEADER = 'X-Playwright-Translated-Record';
8
9
  export const SKIP_FORM_RULES_HEADER = 'X-Playwright-Skip-Form-Rules';
9
10
  export const PROBE_HEADER = 'X-Playwright-Probe';
10
11
  /** Replay's own test ID; the extension maps it to the throwaway base database. */
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAA;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE/C,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAA;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAAiC,CAAA;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,8BAA8B,CAAA;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAA;AAEhD,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAA;AAEhD,MAAM,gBAAgB,GAAG,sCAAsC,CAAA;AAC/D,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,MAAM,UAAU,cAAc;IAC1B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,cAAc,CAAC,MAAqB,EAAE,MAAc;IAChE,OAAO;QACH,GAAG,cAAc,CAAC,MAAM,CAAC;QACzB,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC;KAC5C,CAAA;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,MAAc;IACzC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAA;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE/C,+FAA+F;AAC/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAA;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAAiC,CAAA;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,gCAAgC,CAAA;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,8BAA8B,CAAA;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAA;AAEhD,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAA;AAEhD,MAAM,gBAAgB,GAAG,sCAAsC,CAAA;AAC/D,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,MAAM,UAAU,cAAc;IAC1B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,cAAc,CAAC,MAAqB,EAAE,MAAc;IAChE,OAAO;QACH,GAAG,cAAc,CAAC,MAAM,CAAC;QACzB,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC;KAC5C,CAAA;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,MAAc;IACzC,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"global-setup.d.ts","sourceRoot":"","sources":["../src/global-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAMlE,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKnE,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAK7D;AAED,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAElC,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CACnH;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,OAAO,KAAK,EACrB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACxC,OAAO,CAAC,cAAc,CAAC,CA6BzB;AAkBD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC3C,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAiBD,wBAAsB,cAAc,CAChC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC7E,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,iBAAe,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C1C;AAiBD,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"global-setup.d.ts","sourceRoot":"","sources":["../src/global-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAMlE,OAAO,EAA+C,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKpG,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAK7D;AAED,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAElC,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CACnH;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,OAAO,KAAK,EACrB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GACxC,OAAO,CAAC,cAAc,CAAC,CA6BzB;AAkBD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC3C,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAiBD,wBAAsB,cAAc,CAChC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GAC7E,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,iBAAe,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C1C;AAiBD,eAAe,WAAW,CAAA"}
@@ -4,7 +4,7 @@ import { prepareRun } from './state/run-namespace.js';
4
4
  import { announceSetupCache } from './setup-cache/announce.js';
5
5
  import { REPLAY_TEST_ID, TEST_ID_HEADER, generateTestId } from './contract.js';
6
6
  import { SECRET_HEADER, resolveApiSecret } from './http/api-secret.js';
7
- import { testApiUrl } from './http/test-api.js';
7
+ import { healthTimeoutMs, requestFailure, testApiUrl } from './http/test-api.js';
8
8
  import { registerSetupAttempt } from './state/attempt-registry.js';
9
9
  import { parseDiscoveredSites, writeSitesFile } from './sites/registry.js';
10
10
  import { probeSite } from './sites/probe.js';
@@ -25,14 +25,14 @@ export async function readHealth(healthUrl, headers, doFetch, unreachable) {
25
25
  try {
26
26
  response = await doFetch(healthUrl, {
27
27
  method: 'GET',
28
- signal: AbortSignal.timeout(Number(process.env.PW_HEALTH_TIMEOUT_MS) || 5000),
28
+ signal: AbortSignal.timeout(healthTimeoutMs()),
29
29
  headers,
30
30
  // A custom header survives a cross-origin redirect, secret included.
31
31
  redirect: 'manual',
32
32
  });
33
33
  }
34
34
  catch (error) {
35
- throw new Error(unreachable(error instanceof Error ? error.message : String(error)));
35
+ throw new Error(unreachable(requestFailure(error)));
36
36
  }
37
37
  const text = await response.text();
38
38
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"global-setup.js","sourceRoot":"","sources":["../src/global-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-setup.js","sourceRoot":"","sources":["../src/global-setup.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { BrowserContext } from '@playwright/test';
2
- import type { ToolkitConfig } from '../config.js';
1
+ import type { APIResponse, BrowserContext, Route } from '@playwright/test';
2
+ import { type ToolkitConfig } from '../config.js';
3
3
  /**
4
4
  * Adds the test ID for the site under test, and takes both toolkit headers off
5
5
  * anything else. Routing rather than extraHTTPHeaders: a context-wide header also
@@ -10,4 +10,10 @@ import type { ToolkitConfig } from '../config.js';
10
10
  * `continue` would end the chain and silently disable them.
11
11
  */
12
12
  export declare function applyToolkitHeaders(context: BrowserContext, config: ToolkitConfig, testId: string, origins?: ReadonlySet<string>): Promise<void>;
13
+ /**
14
+ * route.fetch() with the test ID, for a test's own page.route() handler. That handler
15
+ * runs before the toolkit adds the ID, so a plain fetch would reach the site's normal
16
+ * database. Like every other request, only the site under test gets the ID.
17
+ */
18
+ export declare function fetchForTest(route: Route, testId: string, options?: NonNullable<Parameters<Route['fetch']>[0]>): Promise<APIResponse>;
13
19
  //# sourceMappingURL=off-site-headers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"off-site-headers.d.ts","sourceRoot":"","sources":["../../src/http/off-site-headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAOjD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,WAAW,CAAC,MAAM,CAA0B,GACtD,OAAO,CAAC,IAAI,CAAC,CAuBf"}
1
+ {"version":3,"file":"off-site-headers.d.ts","sourceRoot":"","sources":["../../src/http/off-site-headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAG1E,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAOnE;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,WAAW,CAAC,MAAM,CAA0B,GACtD,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CACxB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,GACzD,OAAO,CAAC,WAAW,CAAC,CAUtB"}
@@ -1,5 +1,6 @@
1
1
  import { SECRET_HEADER } from './api-secret.js';
2
2
  import { TEST_ID_HEADER, browserHeaders } from '../contract.js';
3
+ import { getToolkitConfig } from '../config.js';
3
4
  import { testingOrigins } from '../sites/registry.js';
4
5
  import { toolkitRequest } from './toolkit-request.js';
5
6
  const TOOLKIT_HEADERS = [TEST_ID_HEADER.toLowerCase(), SECRET_HEADER.toLowerCase()];
@@ -14,18 +15,39 @@ const TOOLKIT_HEADERS = [TEST_ID_HEADER.toLowerCase(), SECRET_HEADER.toLowerCase
14
15
  */
15
16
  export async function applyToolkitHeaders(context, config, testId, origins = testingOrigins(config)) {
16
17
  await context.route(() => true, async (route) => {
17
- const headers = { ...route.request().headers() };
18
- if (origins.has(new URL(route.request().url()).origin)) {
19
- await route.fallback({ headers: { ...headers, ...browserHeaders(testId) } });
20
- return;
21
- }
22
- for (const name of TOOLKIT_HEADERS) {
23
- delete headers[name];
24
- }
25
- await route.fallback({ headers });
18
+ const request = route.request();
19
+ await route.fallback({ headers: routedHeaders(request.url(), request.headers(), testId, origins) });
26
20
  });
27
21
  const request = toolkitRequest(context.request, config, testId, context.site);
28
22
  Object.defineProperty(context, 'request', { value: request });
29
23
  context.on('page', (page) => Object.defineProperty(page, 'request', { value: request }));
30
24
  }
25
+ /**
26
+ * route.fetch() with the test ID, for a test's own page.route() handler. That handler
27
+ * runs before the toolkit adds the ID, so a plain fetch would reach the site's normal
28
+ * database. Like every other request, only the site under test gets the ID.
29
+ */
30
+ export function fetchForTest(route, testId, options = {}) {
31
+ const request = route.request();
32
+ const headers = { ...request.headers(), ...options.headers };
33
+ // The options may send the request to another address; that address decides
34
+ const url = options.url ?? request.url();
35
+ return route.fetch({
36
+ ...options,
37
+ headers: routedHeaders(url, headers, testId, testingOrigins(getToolkitConfig())),
38
+ });
39
+ }
40
+ function routedHeaders(url, requested, testId, origins) {
41
+ const headers = { ...requested };
42
+ if (origins.has(new URL(url).origin)) {
43
+ return { ...headers, ...browserHeaders(testId) };
44
+ }
45
+ // Header names a test passes may be spelled in any case
46
+ for (const name of Object.keys(headers)) {
47
+ if (TOOLKIT_HEADERS.includes(name.toLowerCase())) {
48
+ delete headers[name];
49
+ }
50
+ }
51
+ return headers;
52
+ }
31
53
  //# sourceMappingURL=off-site-headers.js.map