@umbraco/playwright-testhelpers 18.0.0 → 18.0.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/dist/lib/helpers/ElementApiHelper.d.ts +1 -0
- package/dist/lib/helpers/ElementApiHelper.js +26 -0
- package/dist/lib/helpers/ElementApiHelper.js.map +1 -1
- package/dist/lib/helpers/LibraryUiHelper.js +3 -3
- package/dist/lib/helpers/LibraryUiHelper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -30,4 +30,5 @@ export declare class ElementApiHelper {
|
|
|
30
30
|
isElementPublished(id: string): Promise<boolean>;
|
|
31
31
|
createDefaultElementFolder(folderName: string, parentId?: string): Promise<string | undefined>;
|
|
32
32
|
createElementWithElementPickers(elementName: string, elementTypeId: string, dataTypeName: string, elementPickerIds: string[]): Promise<string | undefined>;
|
|
33
|
+
createDefaultElementWithEnglishAndDanishVariants(elementTypeId: string, englishName: string, danishName: string, propertyName: string, englishTextContent: string, danishTextContent: string): Promise<string | undefined>;
|
|
33
34
|
}
|
|
@@ -248,6 +248,32 @@ class ElementApiHelper {
|
|
|
248
248
|
// Create element
|
|
249
249
|
return await this.create(element);
|
|
250
250
|
}
|
|
251
|
+
async createDefaultElementWithEnglishAndDanishVariants(elementTypeId, englishName, danishName, propertyName, englishTextContent, danishTextContent) {
|
|
252
|
+
await this.ensureNameNotExists(englishName);
|
|
253
|
+
await this.ensureNameNotExists(danishName);
|
|
254
|
+
const element = new json_models_builders_1.ElementBuilder()
|
|
255
|
+
.withDocumentTypeId(elementTypeId)
|
|
256
|
+
.addVariant()
|
|
257
|
+
.withName(englishName)
|
|
258
|
+
.withCulture('en-US')
|
|
259
|
+
.done()
|
|
260
|
+
.addVariant()
|
|
261
|
+
.withName(danishName)
|
|
262
|
+
.withCulture('da')
|
|
263
|
+
.done()
|
|
264
|
+
.addValue()
|
|
265
|
+
.withAlias(AliasHelper_1.AliasHelper.toAlias(propertyName))
|
|
266
|
+
.withValue(englishTextContent)
|
|
267
|
+
.withCulture('en-US')
|
|
268
|
+
.done()
|
|
269
|
+
.addValue()
|
|
270
|
+
.withAlias(AliasHelper_1.AliasHelper.toAlias(propertyName))
|
|
271
|
+
.withValue(danishTextContent)
|
|
272
|
+
.withCulture('da')
|
|
273
|
+
.done()
|
|
274
|
+
.build();
|
|
275
|
+
return await this.create(element);
|
|
276
|
+
}
|
|
251
277
|
}
|
|
252
278
|
exports.ElementApiHelper = ElementApiHelper;
|
|
253
279
|
//# sourceMappingURL=ElementApiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ElementApiHelper.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAE1C,qDAAgD;AAChD,wEAA6D;AAE7D,MAAa,gBAAgB;IAC3B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QACvG,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QACvG,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAY;QACvB,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3G,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1G,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAO;QAC9B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO;SACR;QACD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC,CAAC;QAEJ,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,YAAY;SACvB,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,eAAe,sCAAsC,CAAC,CAAC;IACrI,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,mBAAmB,aAAa,EAAE,oBAAoB,CAAC,CAAC;QAC9I,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,mBAAmB,aAAa,EAAE,oBAAoB,CAAC,CAAC;QAC9I,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,MAAM,KAAK,KAAK,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,WAAoB,KAAK;QACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;aAC5D;iBAAM;gBACL,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAClF;SACF;QACD,yCAAyC;QACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,EAAU,EAAE,QAAiB;QACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,+DAA+D;YAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACnF;gBACD,IAAI,KAAK,CAAC,WAAW,EAAE;oBACrB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;iBACnE;qBAAM;oBACL,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACzF;aACF;YAED,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACpE,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAE/C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE;YACxC,+DAA+D;YAC/D,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;gBACzB,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACzF;YAED,8BAA8B;YAC9B,IAAI,OAAO,CAAC,WAAW,EAAE;gBACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACnE,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAE/C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE;YACxC,+DAA+D;YAC/D,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;gBACzB,IAAI,OAAO,CAAC,WAAW,EAAE;oBACvB,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;iBAChE;qBAAM;oBACL,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACxF;aACF;iBAAM,IAAI,OAAO,CAAC,WAAW,EAAE;gBAC9B,qBAAqB;gBACrB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;aACpD;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,uBAA4B,EAAC,kBAAkB,EAAE,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,EAAC;QAC7F,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACrI,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC3H,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,iBAAiB,yBAAyB,CAAC,CAAC;IAC1H,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,WAAmB;QACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE;YAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;gBAChC,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS;IACT,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7G,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,QAAiB;QAChD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI;SAEzC,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC;QAChH,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,UAAkB;QACrD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,UAAU;SACjB,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+BAAc,CAAC,YAAY,CAAC,aAAa,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IACnH,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,aAAqB;QACnE,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,qCAAc,EAAE;aACjC,kBAAkB,CAAC,aAAa,CAAC;aACjC,UAAU,EAAE;aACV,QAAQ,CAAC,WAAW,CAAC;aACrB,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QAEX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,WAAmB,EAAE,aAAqB,EAAE,WAAmB,EAAE,YAAoB;QACtH,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,qCAAc,EAAE;aACjC,kBAAkB,CAAC,aAAa,CAAC;aACjC,UAAU,EAAE;aACV,QAAQ,CAAC,WAAW,CAAC;aACrB,IAAI,EAAE;aACR,QAAQ,EAAE;aACR,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,SAAS,CAAC,WAAW,CAAC;aACtB,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QAEX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,WAAmB,EAAE,aAAqB,EAAE,QAAgB;QAC/F,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,qCAAc,EAAE;aACjC,kBAAkB,CAAC,aAAa,CAAC;aACjC,YAAY,CAAC,QAAQ,CAAC;aACtB,UAAU,EAAE;aACV,QAAQ,CAAC,WAAW,CAAC;aACrB,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QAEX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,UAAkB,EAAE,QAAiB;QACpE,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE3C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,WAAmB,EAAE,aAAqB,EAAE,YAAoB,EAAE,gBAA0B;QAChI,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,qCAAc,EAAE;aACjC,kBAAkB,CAAC,aAAa,CAAC;aACjC,UAAU,EAAE;aACV,QAAQ,CAAC,WAAW,CAAC;aACrB,IAAI,EAAE;aACR,QAAQ,EAAE;aACR,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,SAAS,CAAC,gBAAgB,CAAC;aAC3B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QAEX,iBAAiB;QACjB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;CACF;AA9RD,4CA8RC","sourcesContent":["import {AliasHelper} from \"./AliasHelper\";\nimport {ApiHelpers} from \"./ApiHelpers\";\nimport {ConstantHelper} from \"./ConstantHelper\";\nimport {ElementBuilder} from \"@umbraco/json-models-builders\";\n\nexport class ElementApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return response.status() === 200;\n }\n\n async create(element: any) {\n if (element == null) {\n return;\n }\n const response = await this.api.post(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}`, element);\n return response.headers().location.split(\"v1/element/\").pop();\n }\n\n async delete(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return response.status();\n }\n\n async update(id: string, element) {\n if (element == null) {\n return;\n }\n const variantsData = element.variants.map(variant => ({\n culture: variant.culture,\n segment: variant.segment,\n name: variant.name\n }));\n\n const updateData = {\n values: element.values,\n variants: variantsData\n };\n return await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`, updateData);\n }\n\n async getAllAtRoot() {\n return await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementRoot}?skip=0&take=10000&foldersOnly=false`);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementChildren}?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getChildrenAmount(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementChildren}?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.total;\n }\n\n async doesNameExist(name: string) {\n const result = await this.getByName(name);\n return result !== false;\n }\n\n private async recurseDeleteChildren(id: string, isFolder: boolean = false) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child.id, child.isFolder);\n } else {\n child.isFolder ? await this.deleteFolder(child.id) : await this.delete(child.id);\n }\n }\n // Delete parent using the correct method\n return isFolder ? await this.deleteFolder(id) : await this.delete(id);\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n // Use root level 'name' property for both folders and elements\n if (child.name === name) {\n if (!toDelete) {\n return child.isFolder ? await this.getFolder(child.id) : await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child.id, child.isFolder);\n } else {\n return child.isFolder ? await this.deleteFolder(child.id) : await this.delete(child.id);\n }\n }\n\n if (child.hasChildren) {\n const result = await this.recurseChildren(name, child.id, toDelete);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootElements = await this.getAllAtRoot();\n const jsonElements = await rootElements.json();\n\n for (const element of jsonElements.items) {\n // Use root level 'name' property for both folders and elements\n if (element.name === name) {\n return element.isFolder ? await this.getFolder(element.id) : await this.get(element.id);\n }\n\n // Recursively search children\n if (element.hasChildren) {\n const result = await this.recurseChildren(name, element.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootElements = await this.getAllAtRoot();\n const jsonElements = await rootElements.json();\n\n for (const element of jsonElements.items) {\n // Use root level 'name' property for both folders and elements\n if (element.name === name) {\n if (element.hasChildren) {\n await this.recurseDeleteChildren(element.id, element.isFolder);\n } else {\n element.isFolder ? await this.deleteFolder(element.id) : await this.delete(element.id);\n }\n } else if (element.hasChildren) {\n // Search in children\n await this.recurseChildren(name, element.id, true);\n }\n }\n }\n\n async publish(id: string, publishSchedulesData: any = {\"publishSchedules\": [{\"culture\": null}]}) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}/publish`, publishSchedulesData);\n return response.status();\n }\n\n async moveToRecycleBin(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}/move-to-recycle-bin`);\n return response.status();\n }\n\n async getAllRecycleBinItems() {\n return await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.recycleBinElement}/root?skip=0&take=10000`);\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.recycleBinElement}`);\n }\n\n async doesItemExistInRecycleBin(elementName: string) {\n const recycleBin = await this.getAllRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const element of jsonRecycleBin.items) {\n if (element.name === elementName) {\n return true;\n }\n }\n return false;\n }\n\n // Folder\n async getFolder(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${id}`);\n return await response.json();\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${id}`);\n }\n\n async createFolder(name: string, parentId?: string) {\n const folder = {\n name: name,\n parent: parentId ? {id: parentId} : null\n\n }\n const response = await this.api.post(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}`, folder);\n return response.headers().location.split(\"/\").pop();\n }\n\n async renameFolder(folderId: string, folderName: string) {\n const folder = {\n name: folderName\n }\n return await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${folderId}`, folder);\n }\n\n // Create Elements\n async createDefaultElement(elementName: string, elementTypeId: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async createElementWithTextContent(elementName: string, elementTypeId: string, textContent: string, dataTypeName: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async createDefaultElementWithParent(elementName: string, elementTypeId: string, parentId: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(elementName)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async isElementPublished(id: string) {\n const element = await this.get(id);\n return element.variants[0].state === 'Published';\n }\n\n async createDefaultElementFolder(folderName: string, parentId?: string) {\n await this.ensureNameNotExists(folderName);\n\n return await this.createFolder(folderName, parentId);\n }\n\n async createElementWithElementPickers(elementName: string, elementTypeId: string, dataTypeName: string, elementPickerIds: string[]) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(elementPickerIds)\n .done()\n .build();\n\n // Create element\n return await this.create(element);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"ElementApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ElementApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {AliasHelper} from \"./AliasHelper\";\nimport {ApiHelpers} from \"./ApiHelpers\";\nimport {ConstantHelper} from \"./ConstantHelper\";\nimport {ElementBuilder} from \"@umbraco/json-models-builders\";\n\nexport class ElementApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return response.status() === 200;\n }\n\n async create(element: any) {\n if (element == null) {\n return;\n }\n const response = await this.api.post(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}`, element);\n return response.headers().location.split(\"v1/element/\").pop();\n }\n\n async delete(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`);\n return response.status();\n }\n\n async update(id: string, element) {\n if (element == null) {\n return;\n }\n const variantsData = element.variants.map(variant => ({\n culture: variant.culture,\n segment: variant.segment,\n name: variant.name\n }));\n\n const updateData = {\n values: element.values,\n variants: variantsData\n };\n return await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}`, updateData);\n }\n\n async getAllAtRoot() {\n return await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementRoot}?skip=0&take=10000&foldersOnly=false`);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementChildren}?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getChildrenAmount(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.treeElementChildren}?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.total;\n }\n\n async doesNameExist(name: string) {\n const result = await this.getByName(name);\n return result !== false;\n }\n\n private async recurseDeleteChildren(id: string, isFolder: boolean = false) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child.id, child.isFolder);\n } else {\n child.isFolder ? await this.deleteFolder(child.id) : await this.delete(child.id);\n }\n }\n // Delete parent using the correct method\n return isFolder ? await this.deleteFolder(id) : await this.delete(id);\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n // Use root level 'name' property for both folders and elements\n if (child.name === name) {\n if (!toDelete) {\n return child.isFolder ? await this.getFolder(child.id) : await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child.id, child.isFolder);\n } else {\n return child.isFolder ? await this.deleteFolder(child.id) : await this.delete(child.id);\n }\n }\n\n if (child.hasChildren) {\n const result = await this.recurseChildren(name, child.id, toDelete);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootElements = await this.getAllAtRoot();\n const jsonElements = await rootElements.json();\n\n for (const element of jsonElements.items) {\n // Use root level 'name' property for both folders and elements\n if (element.name === name) {\n return element.isFolder ? await this.getFolder(element.id) : await this.get(element.id);\n }\n\n // Recursively search children\n if (element.hasChildren) {\n const result = await this.recurseChildren(name, element.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootElements = await this.getAllAtRoot();\n const jsonElements = await rootElements.json();\n\n for (const element of jsonElements.items) {\n // Use root level 'name' property for both folders and elements\n if (element.name === name) {\n if (element.hasChildren) {\n await this.recurseDeleteChildren(element.id, element.isFolder);\n } else {\n element.isFolder ? await this.deleteFolder(element.id) : await this.delete(element.id);\n }\n } else if (element.hasChildren) {\n // Search in children\n await this.recurseChildren(name, element.id, true);\n }\n }\n }\n\n async publish(id: string, publishSchedulesData: any = {\"publishSchedules\": [{\"culture\": null}]}) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}/publish`, publishSchedulesData);\n return response.status();\n }\n\n async moveToRecycleBin(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.element}/${id}/move-to-recycle-bin`);\n return response.status();\n }\n\n async getAllRecycleBinItems() {\n return await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.recycleBinElement}/root?skip=0&take=10000`);\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.recycleBinElement}`);\n }\n\n async doesItemExistInRecycleBin(elementName: string) {\n const recycleBin = await this.getAllRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const element of jsonRecycleBin.items) {\n if (element.name === elementName) {\n return true;\n }\n }\n return false;\n }\n\n // Folder\n async getFolder(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${id}`);\n return await response.json();\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${id}`);\n }\n\n async createFolder(name: string, parentId?: string) {\n const folder = {\n name: name,\n parent: parentId ? {id: parentId} : null\n\n }\n const response = await this.api.post(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}`, folder);\n return response.headers().location.split(\"/\").pop();\n }\n\n async renameFolder(folderId: string, folderName: string) {\n const folder = {\n name: folderName\n }\n return await this.api.put(`${this.api.baseUrl}${ConstantHelper.apiEndpoints.elementFolder}/${folderId}`, folder);\n }\n\n // Create Elements\n async createDefaultElement(elementName: string, elementTypeId: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async createElementWithTextContent(elementName: string, elementTypeId: string, textContent: string, dataTypeName: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async createDefaultElementWithParent(elementName: string, elementTypeId: string, parentId: string) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(elementName)\n .done()\n .build();\n\n return await this.create(element);\n }\n\n async isElementPublished(id: string) {\n const element = await this.get(id);\n return element.variants[0].state === 'Published';\n }\n\n async createDefaultElementFolder(folderName: string, parentId?: string) {\n await this.ensureNameNotExists(folderName);\n\n return await this.createFolder(folderName, parentId);\n }\n\n async createElementWithElementPickers(elementName: string, elementTypeId: string, dataTypeName: string, elementPickerIds: string[]) {\n await this.ensureNameNotExists(elementName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(elementName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(elementPickerIds)\n .done()\n .build();\n\n // Create element\n return await this.create(element);\n }\n\n async createDefaultElementWithEnglishAndDanishVariants(elementTypeId: string, englishName: string, danishName: string, propertyName: string, englishTextContent: string, danishTextContent: string) {\n await this.ensureNameNotExists(englishName);\n await this.ensureNameNotExists(danishName);\n\n const element = new ElementBuilder()\n .withDocumentTypeId(elementTypeId)\n .addVariant()\n .withName(englishName)\n .withCulture('en-US')\n .done()\n .addVariant()\n .withName(danishName)\n .withCulture('da')\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .withValue(englishTextContent)\n .withCulture('en-US')\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(propertyName))\n .withValue(danishTextContent)\n .withCulture('da')\n .done()\n .build();\n\n return await this.create(element);\n }\n}"]}
|
|
@@ -273,7 +273,7 @@ class LibraryUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
273
273
|
this.elementFolderCollectionView = page.locator('umb-element-folder-workspace-view-collection');
|
|
274
274
|
this.elementWorkspaceEditor = page.locator('umb-workspace-editor');
|
|
275
275
|
this.emptyRecycleBinBtn = page.getByTestId('entity-action:Umb.EntityAction.Element.RecycleBin.Empty').locator('#button');
|
|
276
|
-
this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty
|
|
276
|
+
this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty recycle bin', { exact: true });
|
|
277
277
|
this.duplicateToBtn = page.getByRole('button', { name: 'Duplicate to' });
|
|
278
278
|
this.moveToBtn = page.getByRole('button', { name: 'Move to' });
|
|
279
279
|
this.duplicateBtn = page.getByLabel('Duplicate', { exact: true });
|
|
@@ -347,7 +347,7 @@ class LibraryUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
347
347
|
this.lastPublished = this.generalItem.filter({ hasText: 'Last published' }).locator('umb-localize-date');
|
|
348
348
|
this.publishAt = this.generalItem.filter({ hasText: 'Publish at' }).locator('umb-localize-date');
|
|
349
349
|
this.removeAt = this.generalItem.filter({ hasText: 'Remove at' }).locator('umb-localize-date');
|
|
350
|
-
this.selectAllCheckbox =
|
|
350
|
+
this.selectAllCheckbox = page.locator('[label="Select all"]');
|
|
351
351
|
this.confirmToPublishBtn = this.backofficeModalContainer.getByLabel('Publish');
|
|
352
352
|
// Publish with descendants
|
|
353
353
|
this.elementPublishWithDescendantsModal = page.locator('umb-element-publish-with-descendants-modal');
|
|
@@ -371,7 +371,7 @@ class LibraryUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
371
371
|
this.collectionMenu = page.locator('umb-collection-menu');
|
|
372
372
|
this.entityPickerTree = page.locator('umb-tree[alias="Umb.Tree.EntityDataPicker"]');
|
|
373
373
|
this.languageToggle = page.getByTestId('input:entity-name').locator('#toggle');
|
|
374
|
-
this.elementVariantDropdown = page.locator('umb-
|
|
374
|
+
this.elementVariantDropdown = page.locator('umb-workspace-split-view-variant-selector uui-popover-container #dropdown');
|
|
375
375
|
this.blockProperty = page.locator('umb-block-workspace-view-edit-property');
|
|
376
376
|
// Multi URL Picker
|
|
377
377
|
this.linkPickerAddBtn = this.linkPickerModal.getByRole('button', { name: 'Add', exact: true });
|