@umbraco/playwright-testhelpers 17.0.9 → 17.0.11
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/ApiHelpers.d.ts +2 -0
- package/dist/lib/helpers/ApiHelpers.js +3 -0
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +1 -0
- package/dist/lib/helpers/ContentUiHelper.js +5 -0
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +3 -0
- package/dist/lib/helpers/DocumentApiHelper.js +14 -0
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.d.ts +0 -1
- package/dist/lib/helpers/MediaUiHelper.js +1 -3
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/SmtpApiHelper.d.ts +10 -0
- package/dist/lib/helpers/SmtpApiHelper.js +33 -0
- package/dist/lib/helpers/SmtpApiHelper.js.map +1 -0
- package/dist/lib/helpers/UiBaseLocators.d.ts +10 -0
- package/dist/lib/helpers/UiBaseLocators.js +30 -1
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.js +2 -0
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -10,7 +10,6 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
10
10
|
mediaSearchTxt;
|
|
11
11
|
trashBtn;
|
|
12
12
|
restoreThreeDotsBtn;
|
|
13
|
-
restoreBtn;
|
|
14
13
|
confirmEmptyRecycleBinBtn;
|
|
15
14
|
mediaCreateBtn;
|
|
16
15
|
mediaListHeader;
|
|
@@ -34,7 +33,6 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
34
33
|
this.mediaSearchTxt = page.getByLabel('Search', { exact: true });
|
|
35
34
|
this.trashBtn = page.getByLabel(/^Trash(…)?$/);
|
|
36
35
|
this.restoreThreeDotsBtn = page.getByRole('button', { name: 'Restore…' });
|
|
37
|
-
this.restoreBtn = page.getByLabel('Restore', { exact: true });
|
|
38
36
|
this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', { exact: true });
|
|
39
37
|
this.mediaCreateBtn = this.page.locator('umb-collection-toolbar').getByLabel('Create');
|
|
40
38
|
this.mediaListView = this.page.locator('umb-media-table-collection-view');
|
|
@@ -80,7 +78,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
80
78
|
await this.clickActionsMenuForName(name);
|
|
81
79
|
await this.restoreThreeDotsBtn.click();
|
|
82
80
|
await this.page.waitForTimeout(1000);
|
|
83
|
-
await this.
|
|
81
|
+
await this.clickRestoreButton();
|
|
84
82
|
}
|
|
85
83
|
async waitForMediaToBeTrashed() {
|
|
86
84
|
await this.page.waitForLoadState();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,2CAAuD;AAEvD,MAAa,aAAc,SAAQ,+BAAc;IAC9B,kBAAkB,CAAU;IAC5B,YAAY,CAAU;IACtB,oBAAoB,CAAU;IAC9B,cAAc,CAAU;IACxB,QAAQ,CAAU;IAClB,mBAAmB,CAAU;IAC7B,UAAU,CAAU;IACpB,yBAAyB,CAAU;IACnC,cAAc,CAAU;IACxB,eAAe,CAAU;IACzB,oBAAoB,CAAU;IAC9B,aAAa,CAAU;IACvB,aAAa,CAAU;IACvB,mBAAmB,CAAU;IAC7B,YAAY,CAAU;IACtB,aAAa,CAAU;IACvB,WAAW,CAAU;IACrB,sBAAsB,CAAU;IAChC,kBAAkB,CAAU;IAC5B,aAAa,CAAU;IACvB,kBAAkB,CAAU;IAC5B,cAAc,CAAU;IAEzC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACzG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC9E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;QACjG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;QACpG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,aAAqB;QACtD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAY;QACzC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,KAAa;QAC7C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAY;QACzC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,aAAqB;QAClD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAC5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,aAAqB;QACvD,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,wBAAwB;QACxB,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,iCAAiC;QACrC,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,IAAY;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;QAChF,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAEvE,IAAI,iBAAiB,KAAK,IAAI,EAAE;YAC9B,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,cAAwB;QACrD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5C,IAAA,aAAM,EAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,cAAwB;QAC3D,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5C,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,cAAwB;QACzD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5C,IAAA,aAAM,EAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,YAAqB,IAAI;QACpD,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,YAAqB,IAAI;QACpD,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAAY;QAC3C,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY;QACrC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY,EAAE,YAAqB,IAAI;QAClE,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,SAAiB,EAAE,YAAqB,IAAI;QACxF,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACxI,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACnF,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;CACF;AA3ND,sCA2NC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {expect, Locator, Page} from \"@playwright/test\";\n\nexport class MediaUiHelper extends UiBaseLocators {\n private readonly createMediaItemBtn: Locator;\n private readonly mediaNameTxt: Locator;\n private readonly actionModalCreateBtn: Locator;\n private readonly mediaSearchTxt: Locator;\n private readonly trashBtn: Locator;\n private readonly restoreThreeDotsBtn: Locator;\n private readonly restoreBtn: Locator;\n private readonly confirmEmptyRecycleBinBtn: Locator;\n private readonly mediaCreateBtn: Locator;\n private readonly mediaListHeader: Locator;\n private readonly mediaCardItemsValues: Locator;\n private readonly mediaListView: Locator;\n private readonly mediaGridView: Locator;\n private readonly mediaListNameValues: Locator;\n private readonly bulkTrashBtn: Locator;\n private readonly bulkMoveToBtn: Locator;\n private readonly mediaHeader: Locator;\n private readonly mediaHeaderActionsMenu: Locator;\n private readonly emptyRecycleBinBtn: Locator;\n private readonly mediaTreeItem: Locator;\n private readonly mediaPopoverLayout: Locator;\n private readonly mediaWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.createMediaItemBtn = page.locator('umb-create-media-collection-action').getByLabel('Create');\n this.mediaNameTxt = page.locator('#name-input #input');\n this.actionModalCreateBtn = page.locator('#action-modal').getByLabel('Create');\n this.mediaSearchTxt = page.getByLabel('Search', {exact: true});\n this.trashBtn = page.getByLabel(/^Trash(…)?$/);\n this.restoreThreeDotsBtn = page.getByRole('button', {name: 'Restore…'});\n this.restoreBtn = page.getByLabel('Restore', {exact: true});\n this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', {exact: true});\n this.mediaCreateBtn = this.page.locator('umb-collection-toolbar').getByLabel('Create');\n this.mediaListView = this.page.locator('umb-media-table-collection-view');\n this.mediaGridView = this.page.locator('umb-media-grid-collection-view');\n this.mediaListHeader = this.mediaListView.locator('uui-table-head-cell span');\n this.mediaCardItemsValues = this.mediaCardItems.locator('span');\n this.mediaListNameValues = this.mediaListView.locator('umb-media-table-column-name span');\n this.bulkTrashBtn = page.locator('umb-entity-bulk-action uui-button').filter({hasText: 'Trash'});\n this.bulkMoveToBtn = page.locator('umb-entity-bulk-action uui-button').filter({hasText: 'Move to'});\n this.mediaHeader = page.getByRole('heading', {name: 'Media'});\n this.mediaHeaderActionsMenu = page.locator('#header #action-modal');\n this.emptyRecycleBinBtn = page.locator('[label=\"Empty Recycle Bin\"]').locator('svg');\n this.mediaTreeItem = page.locator('umb-media-tree-item');\n this.mediaPopoverLayout = page.locator('umb-popover-layout');\n this.mediaWorkspace = page.locator('umb-media-workspace-editor');\n }\n\n async clickCreateMediaItemButton() {\n await this.createMediaItemBtn.click();\n }\n\n async enterMediaItemName(name: string) {\n await expect(this.mediaNameTxt).toBeVisible();\n await this.mediaNameTxt.clear();\n await this.mediaNameTxt.fill(name);\n await expect(this.mediaNameTxt).toHaveValue(name);\n }\n\n async clickMediaTypeWithNameButton(mediaTypeName: string) {\n await this.page.getByLabel(mediaTypeName, {exact: true}).click();\n }\n\n async searchForMediaItemByName(name: string) {\n await this.mediaSearchTxt.clear();\n await this.mediaSearchTxt.fill(name);\n }\n\n async doesMediaCardsContainAmount(count: number) {\n await expect(this.mediaCardItems).toHaveCount(count);\n }\n\n async doesMediaCardContainText(name: string) {\n await expect(this.mediaCardItems).toContainText(name);\n }\n\n async clickTrashButton() {\n await this.trashBtn.click();\n }\n\n async restoreMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.restoreThreeDotsBtn.click();\n await this.page.waitForTimeout(1000);\n await this.restoreBtn.click();\n }\n\n async waitForMediaToBeTrashed() {\n await this.page.waitForLoadState();\n }\n\n async waitForRecycleBinToBeEmptied() {\n await this.page.waitForLoadState();\n }\n\n async waitForMediaToBeMoved() {\n await this.page.waitForLoadState();\n }\n\n async waitForMediaItemToBeCreated() {\n await this.page.waitForLoadState();\n }\n\n async deleteMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.clickDeleteActionMenuOption();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickCreateMediaWithType(mediaTypeName: string) {\n await expect(this.mediaCreateBtn).toBeVisible();\n await this.mediaCreateBtn.click();\n await this.clickMediaTypeInPopoverByName(mediaTypeName);\n }\n\n async clickMediaTypeName(mediaTypeName: string) {\n await this.documentTypeNode.filter({hasText: mediaTypeName}).click();\n }\n\n async clickMediaTypeInPopoverByName(mediaTypeName: string) {\n await this.mediaPopoverLayout.getByLabel(mediaTypeName).click();\n }\n\n async clickEmptyRecycleBinButton() {\n await this.recycleBinMenuItem.hover();\n await expect(this.emptyRecycleBinBtn).toBeVisible();\n // Force click is needed\n await this.emptyRecycleBinBtn.click({force: true});\n }\n\n async clickConfirmEmptyRecycleBinButton() {\n await this.confirmEmptyRecycleBinBtn.click();\n }\n\n async clickCreateModalButton() {\n await this.actionModalCreateBtn.click();\n }\n\n async clickMediaCaretButtonForName(name: string) {\n await this.page.locator('umb-media-tree-item [label=\"' + name + '\"]').locator('#caret-button').click();\n }\n\n async openMediaCaretButtonForName(name: string) {\n const menuItem = this.page.locator('umb-media-tree-item [label=\"' + name + '\"]')\n const isCaretButtonOpen = await menuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n await this.clickMediaCaretButtonForName(name);\n }\n }\n \n async doesMediaGridValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaCardItemsValues.nth(index)).toHaveText(text);\n });\n }\n\n async doesMediaListHeaderValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaListHeader.nth(index)).toHaveText(text);\n });\n }\n\n async doesMediaListNameValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaListNameValues.nth(index)).toHaveText(text);\n });\n }\n\n async isMediaGridViewVisible(isVisible: boolean = true) {\n return expect(this.mediaGridView).toBeVisible({visible: isVisible});\n }\n\n async isMediaListViewVisible(isVisible: boolean = true) {\n return expect(this.mediaListView).toBeVisible({visible: isVisible});\n }\n\n async doesMediaWorkspaceHaveText(text: string) {\n return expect(this.mediaWorkspace).toContainText(text);\n }\n\n async clickBulkTrashButton() {\n await this.bulkTrashBtn.click();\n }\n\n async clickBulkMoveToButton() {\n await this.bulkMoveToBtn.click();\n }\n\n async clickModalTextByName(name: string) {\n await this.sidebarModal.getByLabel(name, {exact: true}).click();\n }\n\n async reloadMediaTree() {\n await expect(this.mediaHeader).toBeVisible();\n await this.mediaHeader.click();\n await expect(this.mediaHeaderActionsMenu).toBeVisible();\n await this.mediaHeaderActionsMenu.click({force: true});\n await this.clickReloadChildrenActionMenuOption();\n }\n\n async isMediaTreeItemVisible(name: string, isVisible: boolean = true) {\n return expect(this.mediaTreeItem.getByLabel(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isChildMediaVisible(parentName: string, childName: string, isVisible: boolean = true) {\n return expect(this.mediaTreeItem.filter({hasText: parentName}).getByText(childName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async clickCaretButtonForMediaName(name: string) {\n await this.mediaTreeItem.filter({hasText: name}).last().locator('#caret-button').last().click();\n }\n\n async goToMediaWithName(mediaName: string) {\n await expect(this.mediaTreeItem.getByText(mediaName, {exact: true})).toBeVisible();\n await this.mediaTreeItem.getByText(mediaName, {exact: true}).click();\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"MediaUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {expect, Locator, Page} from \"@playwright/test\";\n\nexport class MediaUiHelper extends UiBaseLocators {\n private readonly createMediaItemBtn: Locator;\n private readonly mediaNameTxt: Locator;\n private readonly actionModalCreateBtn: Locator;\n private readonly mediaSearchTxt: Locator;\n private readonly trashBtn: Locator;\n private readonly restoreThreeDotsBtn: Locator;\n private readonly confirmEmptyRecycleBinBtn: Locator;\n private readonly mediaCreateBtn: Locator;\n private readonly mediaListHeader: Locator;\n private readonly mediaCardItemsValues: Locator;\n private readonly mediaListView: Locator;\n private readonly mediaGridView: Locator;\n private readonly mediaListNameValues: Locator;\n private readonly bulkTrashBtn: Locator;\n private readonly bulkMoveToBtn: Locator;\n private readonly mediaHeader: Locator;\n private readonly mediaHeaderActionsMenu: Locator;\n private readonly emptyRecycleBinBtn: Locator;\n private readonly mediaTreeItem: Locator;\n private readonly mediaPopoverLayout: Locator;\n private readonly mediaWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.createMediaItemBtn = page.locator('umb-create-media-collection-action').getByLabel('Create');\n this.mediaNameTxt = page.locator('#name-input #input');\n this.actionModalCreateBtn = page.locator('#action-modal').getByLabel('Create');\n this.mediaSearchTxt = page.getByLabel('Search', {exact: true});\n this.trashBtn = page.getByLabel(/^Trash(…)?$/);\n this.restoreThreeDotsBtn = page.getByRole('button', {name: 'Restore…'});\n this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', {exact: true});\n this.mediaCreateBtn = this.page.locator('umb-collection-toolbar').getByLabel('Create');\n this.mediaListView = this.page.locator('umb-media-table-collection-view');\n this.mediaGridView = this.page.locator('umb-media-grid-collection-view');\n this.mediaListHeader = this.mediaListView.locator('uui-table-head-cell span');\n this.mediaCardItemsValues = this.mediaCardItems.locator('span');\n this.mediaListNameValues = this.mediaListView.locator('umb-media-table-column-name span');\n this.bulkTrashBtn = page.locator('umb-entity-bulk-action uui-button').filter({hasText: 'Trash'});\n this.bulkMoveToBtn = page.locator('umb-entity-bulk-action uui-button').filter({hasText: 'Move to'});\n this.mediaHeader = page.getByRole('heading', {name: 'Media'});\n this.mediaHeaderActionsMenu = page.locator('#header #action-modal');\n this.emptyRecycleBinBtn = page.locator('[label=\"Empty Recycle Bin\"]').locator('svg');\n this.mediaTreeItem = page.locator('umb-media-tree-item');\n this.mediaPopoverLayout = page.locator('umb-popover-layout');\n this.mediaWorkspace = page.locator('umb-media-workspace-editor');\n }\n\n async clickCreateMediaItemButton() {\n await this.createMediaItemBtn.click();\n }\n\n async enterMediaItemName(name: string) {\n await expect(this.mediaNameTxt).toBeVisible();\n await this.mediaNameTxt.clear();\n await this.mediaNameTxt.fill(name);\n await expect(this.mediaNameTxt).toHaveValue(name);\n }\n\n async clickMediaTypeWithNameButton(mediaTypeName: string) {\n await this.page.getByLabel(mediaTypeName, {exact: true}).click();\n }\n\n async searchForMediaItemByName(name: string) {\n await this.mediaSearchTxt.clear();\n await this.mediaSearchTxt.fill(name);\n }\n\n async doesMediaCardsContainAmount(count: number) {\n await expect(this.mediaCardItems).toHaveCount(count);\n }\n\n async doesMediaCardContainText(name: string) {\n await expect(this.mediaCardItems).toContainText(name);\n }\n\n async clickTrashButton() {\n await this.trashBtn.click();\n }\n\n async restoreMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.restoreThreeDotsBtn.click();\n await this.page.waitForTimeout(1000);\n await this.clickRestoreButton();\n }\n\n async waitForMediaToBeTrashed() {\n await this.page.waitForLoadState();\n }\n\n async waitForRecycleBinToBeEmptied() {\n await this.page.waitForLoadState();\n }\n\n async waitForMediaToBeMoved() {\n await this.page.waitForLoadState();\n }\n\n async waitForMediaItemToBeCreated() {\n await this.page.waitForLoadState();\n }\n\n async deleteMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.clickDeleteActionMenuOption();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickCreateMediaWithType(mediaTypeName: string) {\n await expect(this.mediaCreateBtn).toBeVisible();\n await this.mediaCreateBtn.click();\n await this.clickMediaTypeInPopoverByName(mediaTypeName);\n }\n\n async clickMediaTypeName(mediaTypeName: string) {\n await this.documentTypeNode.filter({hasText: mediaTypeName}).click();\n }\n\n async clickMediaTypeInPopoverByName(mediaTypeName: string) {\n await this.mediaPopoverLayout.getByLabel(mediaTypeName).click();\n }\n\n async clickEmptyRecycleBinButton() {\n await this.recycleBinMenuItem.hover();\n await expect(this.emptyRecycleBinBtn).toBeVisible();\n // Force click is needed\n await this.emptyRecycleBinBtn.click({force: true});\n }\n\n async clickConfirmEmptyRecycleBinButton() {\n await this.confirmEmptyRecycleBinBtn.click();\n }\n\n async clickCreateModalButton() {\n await this.actionModalCreateBtn.click();\n }\n\n async clickMediaCaretButtonForName(name: string) {\n await this.page.locator('umb-media-tree-item [label=\"' + name + '\"]').locator('#caret-button').click();\n }\n\n async openMediaCaretButtonForName(name: string) {\n const menuItem = this.page.locator('umb-media-tree-item [label=\"' + name + '\"]')\n const isCaretButtonOpen = await menuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n await this.clickMediaCaretButtonForName(name);\n }\n }\n \n async doesMediaGridValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaCardItemsValues.nth(index)).toHaveText(text);\n });\n }\n\n async doesMediaListHeaderValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaListHeader.nth(index)).toHaveText(text);\n });\n }\n\n async doesMediaListNameValuesMatch(expectedValues: string[]) {\n return expectedValues.forEach((text, index) => {\n expect(this.mediaListNameValues.nth(index)).toHaveText(text);\n });\n }\n\n async isMediaGridViewVisible(isVisible: boolean = true) {\n return expect(this.mediaGridView).toBeVisible({visible: isVisible});\n }\n\n async isMediaListViewVisible(isVisible: boolean = true) {\n return expect(this.mediaListView).toBeVisible({visible: isVisible});\n }\n\n async doesMediaWorkspaceHaveText(text: string) {\n return expect(this.mediaWorkspace).toContainText(text);\n }\n\n async clickBulkTrashButton() {\n await this.bulkTrashBtn.click();\n }\n\n async clickBulkMoveToButton() {\n await this.bulkMoveToBtn.click();\n }\n\n async clickModalTextByName(name: string) {\n await this.sidebarModal.getByLabel(name, {exact: true}).click();\n }\n\n async reloadMediaTree() {\n await expect(this.mediaHeader).toBeVisible();\n await this.mediaHeader.click();\n await expect(this.mediaHeaderActionsMenu).toBeVisible();\n await this.mediaHeaderActionsMenu.click({force: true});\n await this.clickReloadChildrenActionMenuOption();\n }\n\n async isMediaTreeItemVisible(name: string, isVisible: boolean = true) {\n return expect(this.mediaTreeItem.getByLabel(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isChildMediaVisible(parentName: string, childName: string, isVisible: boolean = true) {\n return expect(this.mediaTreeItem.filter({hasText: parentName}).getByText(childName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async clickCaretButtonForMediaName(name: string) {\n await this.mediaTreeItem.filter({hasText: name}).last().locator('#caret-button').last().click();\n }\n\n async goToMediaWithName(mediaName: string) {\n await expect(this.mediaTreeItem.getByText(mediaName, {exact: true})).toBeVisible();\n await this.mediaTreeItem.getByText(mediaName, {exact: true}).click();\n }\n}"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ApiHelpers } from "./ApiHelpers";
|
|
2
|
+
export declare class SmtpApiHelper {
|
|
3
|
+
api: ApiHelpers;
|
|
4
|
+
private smtpBaseUrl;
|
|
5
|
+
constructor(api: ApiHelpers);
|
|
6
|
+
getAllEmails(): Promise<any>;
|
|
7
|
+
deleteAllEmails(): Promise<number>;
|
|
8
|
+
findEmailBySubject(subject: string): Promise<any>;
|
|
9
|
+
doesNotificationEmailWithSubjectExist(actionName: string, contentName: string): Promise<any>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SmtpApiHelper = void 0;
|
|
4
|
+
class SmtpApiHelper {
|
|
5
|
+
api;
|
|
6
|
+
smtpBaseUrl = 'http://localhost:5000'; // Default smtp4dev URL, can be configured
|
|
7
|
+
constructor(api) {
|
|
8
|
+
this.api = api;
|
|
9
|
+
}
|
|
10
|
+
async getAllEmails() {
|
|
11
|
+
const response = await this.api.page.request.get(this.smtpBaseUrl + '/api/messages', {
|
|
12
|
+
ignoreHTTPSErrors: true
|
|
13
|
+
});
|
|
14
|
+
return await response.json();
|
|
15
|
+
}
|
|
16
|
+
async deleteAllEmails() {
|
|
17
|
+
const response = await this.api.page.request.delete(this.smtpBaseUrl + '/api/messages/*', {
|
|
18
|
+
ignoreHTTPSErrors: true
|
|
19
|
+
});
|
|
20
|
+
return response.status();
|
|
21
|
+
}
|
|
22
|
+
async findEmailBySubject(subject) {
|
|
23
|
+
const emails = await this.getAllEmails();
|
|
24
|
+
const foundEmail = emails.results.find((email) => email.subject && email.subject.toLowerCase().includes(subject.toLowerCase()));
|
|
25
|
+
return foundEmail || null;
|
|
26
|
+
}
|
|
27
|
+
async doesNotificationEmailWithSubjectExist(actionName, contentName) {
|
|
28
|
+
const expectedSubject = `Notification about ${actionName} performed on ${contentName}`;
|
|
29
|
+
return this.findEmailBySubject(expectedSubject);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.SmtpApiHelper = SmtpApiHelper;
|
|
33
|
+
//# sourceMappingURL=SmtpApiHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmtpApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/SmtpApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACxB,GAAG,CAAa;IACR,WAAW,GAAG,uBAAuB,CAAC,CAAC,0CAA0C;IAEzF,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE;YACnF,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,GAAG,iBAAiB,EAAE;YACxF,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE,CACpD,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC7E,CAAC;QACF,OAAO,UAAU,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,UAAkB,EAAE,WAAmB;QACjF,MAAM,eAAe,GAAG,sBAAsB,UAAU,iBAAiB,WAAW,EAAE,CAAA;QACtF,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;CACF;AAlCD,sCAkCC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class SmtpApiHelper {\n api: ApiHelpers;\n private smtpBaseUrl = 'http://localhost:5000'; // Default smtp4dev URL, can be configured\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async getAllEmails() {\n const response = await this.api.page.request.get(this.smtpBaseUrl + '/api/messages', {\n ignoreHTTPSErrors: true\n });\n return await response.json();\n }\n\n async deleteAllEmails() {\n const response = await this.api.page.request.delete(this.smtpBaseUrl + '/api/messages/*', {\n ignoreHTTPSErrors: true\n });\n return response.status();\n }\n\n async findEmailBySubject(subject: string) {\n const emails = await this.getAllEmails();\n const foundEmail = emails.results.find((email: any) =>\n email.subject && email.subject.toLowerCase().includes(subject.toLowerCase())\n );\n return foundEmail || null;\n }\n\n async doesNotificationEmailWithSubjectExist(actionName: string, contentName: string) {\n const expectedSubject = `Notification about ${actionName} performed on ${contentName}`\n return this.findEmailBySubject(expectedSubject);\n }\n}"]}
|
|
@@ -151,8 +151,13 @@ export declare class UiBaseLocators {
|
|
|
151
151
|
readonly openedModal: Locator;
|
|
152
152
|
readonly uiLoader: Locator;
|
|
153
153
|
readonly createDocumentBlueprintModal: Locator;
|
|
154
|
+
readonly inputDropzone: Locator;
|
|
155
|
+
readonly imageCropperField: Locator;
|
|
156
|
+
readonly inputUploadField: Locator;
|
|
154
157
|
readonly entityItem: Locator;
|
|
155
158
|
readonly sectionLinks: Locator;
|
|
159
|
+
readonly restoreBtn: Locator;
|
|
160
|
+
readonly backOfficeMain: Locator;
|
|
156
161
|
constructor(page: Page);
|
|
157
162
|
clickActionsMenuForNameInSectionSidebar(name: string): Promise<void>;
|
|
158
163
|
clickActionsMenuForName(name: string): Promise<void>;
|
|
@@ -357,4 +362,9 @@ export declare class UiBaseLocators {
|
|
|
357
362
|
enterMonacoEditorValue(value: string): Promise<void>;
|
|
358
363
|
waitUntilUiLoaderIsNoLongerVisible(): Promise<void>;
|
|
359
364
|
isWorkspaceViewTabWithAliasVisible(alias: string, isVisible?: boolean): Promise<void>;
|
|
365
|
+
clickRestoreButton(): Promise<void>;
|
|
366
|
+
isInputDropzoneVisible(isVisible?: boolean): Promise<void>;
|
|
367
|
+
isImageCropperFieldVisible(isVisible?: boolean): Promise<void>;
|
|
368
|
+
isInputUploadFieldVisible(isVisible?: boolean): Promise<void>;
|
|
369
|
+
isBackOfficeMainVisible(isVisible?: boolean): Promise<void>;
|
|
360
370
|
}
|
|
@@ -155,8 +155,13 @@ class UiBaseLocators {
|
|
|
155
155
|
openedModal;
|
|
156
156
|
uiLoader;
|
|
157
157
|
createDocumentBlueprintModal;
|
|
158
|
+
inputDropzone;
|
|
159
|
+
imageCropperField;
|
|
160
|
+
inputUploadField;
|
|
158
161
|
entityItem;
|
|
159
162
|
sectionLinks;
|
|
163
|
+
restoreBtn;
|
|
164
|
+
backOfficeMain;
|
|
160
165
|
constructor(page) {
|
|
161
166
|
this.page = page;
|
|
162
167
|
this.saveBtn = page.getByLabel('Save', { exact: true });
|
|
@@ -313,7 +318,12 @@ class UiBaseLocators {
|
|
|
313
318
|
this.monacoEditor = page.locator('.monaco-editor');
|
|
314
319
|
this.openedModal = page.locator('uui-modal-container[backdrop]');
|
|
315
320
|
this.uiLoader = page.locator('uui-loader');
|
|
321
|
+
this.inputDropzone = page.locator('umb-input-dropzone');
|
|
322
|
+
this.imageCropperField = page.locator('umb-image-cropper-field');
|
|
323
|
+
this.inputUploadField = page.locator('umb-input-upload-field').locator('#wrapperInner');
|
|
316
324
|
this.entityItem = page.locator('umb-entity-item-ref');
|
|
325
|
+
this.restoreBtn = page.getByLabel('Restore', { exact: true });
|
|
326
|
+
this.backOfficeMain = page.locator('umb-backoffice-main');
|
|
317
327
|
}
|
|
318
328
|
async clickActionsMenuForNameInSectionSidebar(name) {
|
|
319
329
|
await this.sectionSidebar.locator('[label="' + name + '"]').hover();
|
|
@@ -727,7 +737,10 @@ class UiBaseLocators {
|
|
|
727
737
|
await this.page.waitForTimeout(400);
|
|
728
738
|
await this.unnamedTabTxt.clear();
|
|
729
739
|
await this.unnamedTabTxt.fill(tabName);
|
|
730
|
-
|
|
740
|
+
// We use this to make sure the test id is updated
|
|
741
|
+
await this.page.getByRole('tab', { name: 'Design' }).click();
|
|
742
|
+
// We click again to make sure the tab is focused
|
|
743
|
+
await this.page.getByTestId('tab:' + tabName).click();
|
|
731
744
|
}
|
|
732
745
|
async searchForTypeToFilterValue(searchValue) {
|
|
733
746
|
await (0, test_1.expect)(this.typeToFilterSearchTxt).toBeVisible();
|
|
@@ -1244,6 +1257,22 @@ class UiBaseLocators {
|
|
|
1244
1257
|
async isWorkspaceViewTabWithAliasVisible(alias, isVisible = true) {
|
|
1245
1258
|
await (0, test_1.expect)(this.page.getByTestId('workspace:view-link:' + alias)).toBeVisible({ visible: isVisible });
|
|
1246
1259
|
}
|
|
1260
|
+
async clickRestoreButton() {
|
|
1261
|
+
await (0, test_1.expect)(this.restoreBtn).toBeVisible();
|
|
1262
|
+
await this.restoreBtn.click();
|
|
1263
|
+
}
|
|
1264
|
+
async isInputDropzoneVisible(isVisible = true) {
|
|
1265
|
+
await (0, test_1.expect)(this.inputDropzone).toBeVisible({ visible: isVisible });
|
|
1266
|
+
}
|
|
1267
|
+
async isImageCropperFieldVisible(isVisible = true) {
|
|
1268
|
+
await (0, test_1.expect)(this.imageCropperField).toBeVisible({ visible: isVisible });
|
|
1269
|
+
}
|
|
1270
|
+
async isInputUploadFieldVisible(isVisible = true) {
|
|
1271
|
+
await (0, test_1.expect)(this.inputUploadField).toBeVisible({ visible: isVisible });
|
|
1272
|
+
}
|
|
1273
|
+
async isBackOfficeMainVisible(isVisible = true) {
|
|
1274
|
+
await (0, test_1.expect)(this.backOfficeMain).toBeVisible({ visible: isVisible });
|
|
1275
|
+
}
|
|
1247
1276
|
}
|
|
1248
1277
|
exports.UiBaseLocators = UiBaseLocators;
|
|
1249
1278
|
//# sourceMappingURL=UiBaseLocators.js.map
|