@umbraco/playwright-testhelpers 15.0.6 → 15.0.8

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 (38) hide show
  1. package/dist/lib/helpers/ContentUiHelper.d.ts +5 -1
  2. package/dist/lib/helpers/ContentUiHelper.js +45 -8
  3. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  4. package/dist/lib/helpers/DataTypeUiHelper.js +22 -6
  5. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  6. package/dist/lib/helpers/DocumentTypeUiHelper.js +4 -4
  7. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
  8. package/dist/lib/helpers/FormsUiHelper.d.ts +123 -0
  9. package/dist/lib/helpers/FormsUiHelper.js +487 -0
  10. package/dist/lib/helpers/FormsUiHelper.js.map +1 -0
  11. package/dist/lib/helpers/LogViewerUiHelper.js +15 -3
  12. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
  13. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
  14. package/dist/lib/helpers/MediaUiHelper.d.ts +3 -1
  15. package/dist/lib/helpers/MediaUiHelper.js +13 -5
  16. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  17. package/dist/lib/helpers/MemberApiHelper.js +3 -3
  18. package/dist/lib/helpers/MemberApiHelper.js.map +1 -1
  19. package/dist/lib/helpers/MemberUiHelper.js +5 -1
  20. package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
  21. package/dist/lib/helpers/PackageUiHelper.js +11 -5
  22. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  23. package/dist/lib/helpers/StylesheetUiHelper.js +1 -1
  24. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  25. package/dist/lib/helpers/TemplateUiHelper.js +2 -2
  26. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
  27. package/dist/lib/helpers/UiBaseLocators.d.ts +17 -6
  28. package/dist/lib/helpers/UiBaseLocators.js +75 -18
  29. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  30. package/dist/lib/helpers/UiHelpers.d.ts +2 -0
  31. package/dist/lib/helpers/UiHelpers.js +3 -0
  32. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  33. package/dist/lib/helpers/UserGroupUiHelper.js +6 -2
  34. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  35. package/dist/lib/helpers/UserUiHelper.js +4 -1
  36. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +1 -1
@@ -39,15 +39,20 @@ class LogViewerUiHelper extends UiBaseLocators_1.UiBaseLocators {
39
39
  await (0, test_1.expect)(this.searchLogsTxt).toBeVisible();
40
40
  }
41
41
  async clickOverviewButton() {
42
- await this.overviewBtn.click({ force: true });
42
+ await (0, test_1.expect)(this.overviewBtn).toBeVisible();
43
+ await this.overviewBtn.click();
43
44
  }
44
45
  async enterSearchKeyword(keyword) {
45
46
  await this.searchLogsTxt.clear();
46
47
  await this.searchLogsTxt.fill(keyword);
47
48
  }
48
49
  async selectLogLevel(level) {
50
+ await (0, test_1.expect)(this.selectLogLevelBtn).toBeVisible();
51
+ // The force click is necessary.
49
52
  await this.selectLogLevelBtn.click({ force: true });
50
- await this.page.locator('.log-level-menu-item').getByText(level).click({ force: true });
53
+ const logLevelLocator = this.page.locator('.log-level-menu-item').getByText(level);
54
+ await (0, test_1.expect)(logLevelLocator).toBeVisible();
55
+ await logLevelLocator.click({ force: true });
51
56
  }
52
57
  async doesLogLevelIndicatorDisplay(level) {
53
58
  return await (0, test_1.expect)(this.page.locator('.log-level-button-indicator', { hasText: level })).toBeVisible();
@@ -56,6 +61,8 @@ class LogViewerUiHelper extends UiBaseLocators_1.UiBaseLocators {
56
61
  return await (0, test_1.expect)(this.page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', { hasText: level })).toHaveCount(expectedNumber);
57
62
  }
58
63
  async saveSearch(searchName) {
64
+ await (0, test_1.expect)(this.saveSearchHeartIcon).toBeVisible();
65
+ // The force click is necessary.
59
66
  await this.saveSearchHeartIcon.click({ force: true });
60
67
  await this.searchNameTxt.clear();
61
68
  await this.searchNameTxt.fill(searchName);
@@ -89,10 +96,15 @@ class LogViewerUiHelper extends UiBaseLocators_1.UiBaseLocators {
89
96
  await (0, test_1.expect)(this.page.locator('details[open] .property-value').getByText(text)).toBeVisible();
90
97
  }
91
98
  async clickSavedSearchesButton() {
99
+ await (0, test_1.expect)(this.savedSearchesBtn).toBeVisible();
100
+ // The force click is necessary.
92
101
  await this.savedSearchesBtn.click({ force: true });
93
102
  }
94
103
  async removeSavedSearchByName(name) {
95
- await this.page.locator('li').filter({ hasText: name }).getByLabel('Remove saved search').click({ force: true });
104
+ const removedSavedSearchWithNameLocator = this.page.locator('li').filter({ hasText: name }).getByLabel('Remove saved search');
105
+ await (0, test_1.expect)(removedSavedSearchWithNameLocator).toBeVisible();
106
+ // The force click is necessary.
107
+ await removedSavedSearchWithNameLocator.click({ force: true });
96
108
  }
97
109
  async waitUntilLoadingSpinnerInvisible() {
98
110
  await (0, test_1.expect)(this.loadingSpinner).toHaveCount(0);
@@ -1 +1 @@
1
- {"version":3,"file":"LogViewerUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LogViewerUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,SAAS,CAAU;IACnB,aAAa,CAAU;IACvB,iBAAiB,CAAU;IAC3B,mBAAmB,CAAU;IAC7B,aAAa,CAAU;IACvB,aAAa,CAAU;IACvB,WAAW,CAAU;IACrB,qBAAqB,CAAU;IAC/B,sBAAsB,CAAU;IAChC,oBAAoB,CAAU;IAC9B,oBAAoB,CAAU;IAC9B,gBAAgB,CAAU;IAC1B,cAAc,CAAU;IAEzC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QAChF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,KAAa;QAC9C,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa,EAAE,cAAsB;QAChE,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACrJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,gBAAgB,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,6BAA6B;QACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,SAAiB;QAC/C,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAe;QAC3C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,WAAmB;QAC9C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,gCAAgC;QACpC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;CACF;AAlHD,8CAkHC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class LogViewerUiHelper extends UiBaseLocators {\n private readonly searchBtn: Locator;\n private readonly searchLogsTxt: Locator;\n private readonly selectLogLevelBtn: Locator;\n private readonly saveSearchHeartIcon: Locator;\n private readonly searchNameTxt: Locator;\n private readonly saveSearchBtn: Locator;\n private readonly overviewBtn: Locator;\n private readonly sortLogByTimestampBtn: Locator;\n private readonly firstLogLevelTimestamp: Locator;\n private readonly firstLogLevelMessage: Locator;\n private readonly firstLogSearchResult: Locator;\n private readonly savedSearchesBtn: Locator;\n private readonly loadingSpinner: Locator;\n\n constructor(page: Page) {\n super(page);\n this.searchBtn = page.locator('uui-tab').filter({hasText: 'Search'}).locator('svg');\n this.searchLogsTxt = page.getByPlaceholder('Search logs...');\n this.selectLogLevelBtn = page.getByLabel('Select log levels');\n this.saveSearchHeartIcon = page.getByLabel(\"Save search\");\n this.searchNameTxt = page.getByLabel(\"Search name\");\n this.saveSearchBtn = page.locator('uui-dialog-layout').getByLabel(\"Save search\");\n this.overviewBtn = page.getByRole('tab', {name: 'Overview'});\n this.sortLogByTimestampBtn = page.getByLabel('Sort logs');\n this.firstLogLevelTimestamp = page.locator('umb-log-viewer-message #timestamp').first();\n this.firstLogLevelMessage = page.locator('umb-log-viewer-message #message').first();\n this.firstLogSearchResult = page.getByRole('group').locator('#message').first();\n this.savedSearchesBtn = page.getByLabel('Saved searches');\n this.loadingSpinner = page.locator('#empty uui-loader-circle');\n }\n\n async clickSearchButton() {\n await expect(this.searchBtn).toBeVisible();\n await this.searchBtn.click();\n await expect(this.searchLogsTxt).toBeVisible();\n }\n\n async clickOverviewButton() {\n await this.overviewBtn.click({force: true});\n }\n\n async enterSearchKeyword(keyword: string) {\n await this.searchLogsTxt.clear();\n await this.searchLogsTxt.fill(keyword);\n }\n\n async selectLogLevel(level: string) {\n await this.selectLogLevelBtn.click({force: true});\n await this.page.locator('.log-level-menu-item').getByText(level).click({force: true});\n }\n\n async doesLogLevelIndicatorDisplay(level: string) {\n return await expect(this.page.locator('.log-level-button-indicator', {hasText: level})).toBeVisible();\n }\n\n async doesLogLevelCountMatch(level: string, expectedNumber: number) {\n return await expect(this.page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', {hasText: level})).toHaveCount(expectedNumber);\n }\n\n async saveSearch(searchName: string) {\n await this.saveSearchHeartIcon.click({force: true});\n await this.searchNameTxt.clear();\n await this.searchNameTxt.fill(searchName);\n await this.saveSearchBtn.click();\n }\n\n checkSavedSearch(searchName: string) {\n return this.page.locator('#saved-searches').getByLabel(searchName, {exact: true});\n }\n\n async clickSortLogByTimestampButton() {\n await this.sortLogByTimestampBtn.click();\n }\n\n async doesFirstLogHaveTimestamp(timestamp: string) {\n return await expect(this.firstLogLevelTimestamp).toContainText(timestamp);\n }\n\n async clickPageNumber(pageNumber: number) {\n await this.page.getByLabel('Go to page ' + pageNumber, {exact: true}).click();\n }\n\n async doesFirstLogHaveMessage(message: string) {\n await expect(this.firstLogLevelMessage).toContainText(message, {timeout: 10000});\n }\n\n async clickSavedSearchByName(name: string) {\n await this.page.locator('#saved-searches').getByLabel(name).click();\n }\n\n async doesSearchBoxHaveValue(searchValue: string) {\n await expect(this.page.getByPlaceholder('Search logs...')).toHaveValue(searchValue);\n }\n\n async clickFirstLogSearchResult() {\n await this.firstLogSearchResult.click();\n }\n\n async doesDetailedLogHaveText(text: string) {\n await expect(this.page.locator('details[open] .property-value').getByText(text)).toBeVisible();\n }\n\n async clickSavedSearchesButton() {\n await this.savedSearchesBtn.click({force: true});\n }\n\n async removeSavedSearchByName(name: string) {\n await this.page.locator('li').filter({hasText: name}).getByLabel('Remove saved search').click({force: true});\n }\n\n async waitUntilLoadingSpinnerInvisible() {\n await expect(this.loadingSpinner).toHaveCount(0);\n }\n}\n"]}
1
+ {"version":3,"file":"LogViewerUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/LogViewerUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class LogViewerUiHelper extends UiBaseLocators {\n private readonly searchBtn: Locator;\n private readonly searchLogsTxt: Locator;\n private readonly selectLogLevelBtn: Locator;\n private readonly saveSearchHeartIcon: Locator;\n private readonly searchNameTxt: Locator;\n private readonly saveSearchBtn: Locator;\n private readonly overviewBtn: Locator;\n private readonly sortLogByTimestampBtn: Locator;\n private readonly firstLogLevelTimestamp: Locator;\n private readonly firstLogLevelMessage: Locator;\n private readonly firstLogSearchResult: Locator;\n private readonly savedSearchesBtn: Locator;\n private readonly loadingSpinner: Locator;\n\n constructor(page: Page) {\n super(page);\n this.searchBtn = page.locator('uui-tab').filter({hasText: 'Search'}).locator('svg');\n this.searchLogsTxt = page.getByPlaceholder('Search logs...');\n this.selectLogLevelBtn = page.getByLabel('Select log levels');\n this.saveSearchHeartIcon = page.getByLabel(\"Save search\");\n this.searchNameTxt = page.getByLabel(\"Search name\");\n this.saveSearchBtn = page.locator('uui-dialog-layout').getByLabel(\"Save search\");\n this.overviewBtn = page.getByRole('tab', {name: 'Overview'});\n this.sortLogByTimestampBtn = page.getByLabel('Sort logs');\n this.firstLogLevelTimestamp = page.locator('umb-log-viewer-message #timestamp').first();\n this.firstLogLevelMessage = page.locator('umb-log-viewer-message #message').first();\n this.firstLogSearchResult = page.getByRole('group').locator('#message').first();\n this.savedSearchesBtn = page.getByLabel('Saved searches');\n this.loadingSpinner = page.locator('#empty uui-loader-circle');\n }\n\n async clickSearchButton() {\n await expect(this.searchBtn).toBeVisible();\n await this.searchBtn.click();\n await expect(this.searchLogsTxt).toBeVisible();\n }\n\n async clickOverviewButton() {\n await expect(this.overviewBtn).toBeVisible();\n await this.overviewBtn.click();\n }\n\n async enterSearchKeyword(keyword: string) {\n await this.searchLogsTxt.clear();\n await this.searchLogsTxt.fill(keyword);\n }\n\n async selectLogLevel(level: string) {\n await expect(this.selectLogLevelBtn).toBeVisible();\n // The force click is necessary.\n await this.selectLogLevelBtn.click({force: true});\n const logLevelLocator = this.page.locator('.log-level-menu-item').getByText(level);\n await expect(logLevelLocator).toBeVisible();\n await logLevelLocator.click({force: true});\n }\n\n async doesLogLevelIndicatorDisplay(level: string) {\n return await expect(this.page.locator('.log-level-button-indicator', {hasText: level})).toBeVisible();\n }\n\n async doesLogLevelCountMatch(level: string, expectedNumber: number) {\n return await expect(this.page.locator('umb-log-viewer-message').locator('umb-log-viewer-level-tag', {hasText: level})).toHaveCount(expectedNumber);\n }\n\n async saveSearch(searchName: string) {\n await expect(this.saveSearchHeartIcon).toBeVisible();\n // The force click is necessary.\n await this.saveSearchHeartIcon.click({force: true});\n await this.searchNameTxt.clear();\n await this.searchNameTxt.fill(searchName);\n await this.saveSearchBtn.click();\n }\n\n checkSavedSearch(searchName: string) {\n return this.page.locator('#saved-searches').getByLabel(searchName, {exact: true});\n }\n\n async clickSortLogByTimestampButton() {\n await this.sortLogByTimestampBtn.click();\n }\n\n async doesFirstLogHaveTimestamp(timestamp: string) {\n return await expect(this.firstLogLevelTimestamp).toContainText(timestamp);\n }\n\n async clickPageNumber(pageNumber: number) {\n await this.page.getByLabel('Go to page ' + pageNumber, {exact: true}).click();\n }\n\n async doesFirstLogHaveMessage(message: string) {\n await expect(this.firstLogLevelMessage).toContainText(message, {timeout: 10000});\n }\n\n async clickSavedSearchByName(name: string) {\n await this.page.locator('#saved-searches').getByLabel(name).click();\n }\n\n async doesSearchBoxHaveValue(searchValue: string) {\n await expect(this.page.getByPlaceholder('Search logs...')).toHaveValue(searchValue);\n }\n\n async clickFirstLogSearchResult() {\n await this.firstLogSearchResult.click();\n }\n\n async doesDetailedLogHaveText(text: string) {\n await expect(this.page.locator('details[open] .property-value').getByText(text)).toBeVisible();\n }\n\n async clickSavedSearchesButton() {\n await expect(this.savedSearchesBtn).toBeVisible();\n // The force click is necessary.\n await this.savedSearchesBtn.click({force: true});\n }\n\n async removeSavedSearchByName(name: string) {\n const removedSavedSearchWithNameLocator = this.page.locator('li').filter({hasText: name}).getByLabel('Remove saved search');\n await expect(removedSavedSearchWithNameLocator).toBeVisible();\n // The force click is necessary.\n await removedSavedSearchWithNameLocator.click({force: true});\n }\n\n async waitUntilLoadingSpinnerInvisible() {\n await expect(this.loadingSpinner).toHaveCount(0);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,wBAAwB,CAAU;IAClC,0BAA0B,CAAU;IAErD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAAqB;QACvC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1H,CAAC;CACF;AAvCD,8CAuCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MediaTypeUiHelper extends UiBaseLocators {\n private readonly newMediaTypeThreeDotsBtn: Locator;\n private readonly mediaEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newMediaTypeThreeDotsBtn = page.getByLabel('New Media Type...');\n this.mediaEditPropertyWorkspace = page.locator('umb-media-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMediaType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMediaType(\"Media Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Media Types\");\n }\n\n async clickNewMediaTypeButton() {\n await this.newMediaTypeThreeDotsBtn.click();\n }\n \n async goToMediaType(mediaTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(mediaTypeName).click();\n }\n\n async enterMediaTypeName(name: string) {\n await this.enterAName.waitFor({state: 'visible'});\n await this.enterAName.fill(name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.mediaEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
1
+ {"version":3,"file":"MediaTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaTypeUiHelper.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,wBAAwB,CAAU;IAClC,0BAA0B,CAAU;IAErD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAAqB;QACvC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,kBAA0B,EAAE,WAAmB;QAC7F,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1H,CAAC;CACF;AAvCD,8CAuCC","sourcesContent":["import {UiBaseLocators} from \"./UiBaseLocators\";\nimport {Locator, Page} from \"@playwright/test\";\n\nexport class MediaTypeUiHelper extends UiBaseLocators {\n private readonly newMediaTypeThreeDotsBtn: Locator;\n private readonly mediaEditPropertyWorkspace: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newMediaTypeThreeDotsBtn = page.getByLabel('New Media Type...');\n this.mediaEditPropertyWorkspace = page.locator('umb-media-type-workspace-view-edit-property');\n }\n\n async clickActionsMenuForMediaType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForMediaType(\"Media Types\");\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName(\"Media Types\");\n }\n\n async clickNewMediaTypeButton() {\n await this.newMediaTypeThreeDotsBtn.click();\n }\n\n async goToMediaType(mediaTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.page.getByLabel(mediaTypeName).click();\n }\n\n async enterMediaTypeName(name: string) {\n await this.enterAName.waitFor({state: 'visible'});\n await this.enterAName.fill(name);\n }\n\n async enterDescriptionForPropertyEditorWithName(propertyEditorName: string, description: string) {\n await this.mediaEditPropertyWorkspace.filter({hasText: propertyEditorName}).getByLabel('description').fill(description);\n }\n}"]}
@@ -9,7 +9,7 @@ export declare class MediaUiHelper extends UiBaseLocators {
9
9
  private readonly restoreThreeDotsBtn;
10
10
  private readonly restoreBtn;
11
11
  private readonly confirmEmptyRecycleBinBtn;
12
- private readonly mediaSectionCreateBtn;
12
+ private readonly mediaCreateBtn;
13
13
  private readonly mediaListHeader;
14
14
  private readonly mediaCardItemsValues;
15
15
  private readonly mediaListView;
@@ -21,6 +21,7 @@ export declare class MediaUiHelper extends UiBaseLocators {
21
21
  private readonly mediaHeaderActionsMenu;
22
22
  private readonly emptyRecycleBinBtn;
23
23
  private readonly mediaTreeItem;
24
+ private readonly mediaPopoverLayout;
24
25
  constructor(page: Page);
25
26
  clickCreateMediaItemButton(): Promise<void>;
26
27
  enterMediaItemName(name: string): Promise<void>;
@@ -33,6 +34,7 @@ export declare class MediaUiHelper extends UiBaseLocators {
33
34
  deleteMediaItem(name: string): Promise<void>;
34
35
  clickCreateMediaWithType(mediaTypeName: string): Promise<void>;
35
36
  clickMediaTypeName(mediaTypeName: string): Promise<void>;
37
+ clickMediaTypeInPopoverByName(mediaTypeName: string): Promise<void>;
36
38
  clickEmptyRecycleBinButton(): Promise<void>;
37
39
  clickConfirmEmptyRecycleBinButton(): Promise<void>;
38
40
  clickCreateModalButton(): Promise<void>;
@@ -12,7 +12,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
12
12
  restoreThreeDotsBtn;
13
13
  restoreBtn;
14
14
  confirmEmptyRecycleBinBtn;
15
- mediaSectionCreateBtn;
15
+ mediaCreateBtn;
16
16
  mediaListHeader;
17
17
  mediaCardItemsValues;
18
18
  mediaListView;
@@ -24,6 +24,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
24
24
  mediaHeaderActionsMenu;
25
25
  emptyRecycleBinBtn;
26
26
  mediaTreeItem;
27
+ mediaPopoverLayout;
27
28
  constructor(page) {
28
29
  super(page);
29
30
  this.createMediaItemBtn = page.locator('umb-create-media-collection-action').getByLabel('Create');
@@ -34,7 +35,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
34
35
  this.restoreThreeDotsBtn = page.getByRole('button', { name: 'Restore...' });
35
36
  this.restoreBtn = page.getByLabel('Restore', { exact: true });
36
37
  this.confirmEmptyRecycleBinBtn = page.locator('#confirm').getByLabel('Empty Recycle Bin', { exact: true });
37
- this.mediaSectionCreateBtn = this.page.locator('#header').filter({ hasText: 'Media' }).getByLabel('#actions_create');
38
+ this.mediaCreateBtn = this.page.locator('umb-collection-toolbar').getByLabel('Create');
38
39
  this.mediaListView = this.page.locator('umb-media-table-collection-view');
39
40
  this.mediaGridView = this.page.locator('umb-media-grid-collection-view');
40
41
  this.mediaListHeader = this.mediaListView.locator('uui-table-head-cell span');
@@ -46,6 +47,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
46
47
  this.mediaHeaderActionsMenu = page.locator('#header >> [label="Open actions menu"]');
47
48
  this.emptyRecycleBinBtn = page.locator('[label="Empty Recycle Bin"]').locator('svg');
48
49
  this.mediaTreeItem = page.locator('umb-media-tree-item');
50
+ this.mediaPopoverLayout = page.locator('umb-popover-layout');
49
51
  }
50
52
  async clickCreateMediaItemButton() {
51
53
  await this.createMediaItemBtn.click();
@@ -82,15 +84,21 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
82
84
  await this.clickConfirmToDeleteButton();
83
85
  }
84
86
  async clickCreateMediaWithType(mediaTypeName) {
85
- await this.mediaSectionCreateBtn.click({ force: true });
86
- await this.clickMediaTypeName(mediaTypeName);
87
+ await (0, test_1.expect)(this.mediaCreateBtn).toBeVisible();
88
+ await this.mediaCreateBtn.click();
89
+ await this.clickMediaTypeInPopoverByName(mediaTypeName);
87
90
  }
88
91
  async clickMediaTypeName(mediaTypeName) {
89
92
  await this.documentTypeNode.filter({ hasText: mediaTypeName }).click();
90
93
  }
94
+ async clickMediaTypeInPopoverByName(mediaTypeName) {
95
+ await this.mediaPopoverLayout.getByLabel(mediaTypeName).click();
96
+ }
91
97
  async clickEmptyRecycleBinButton() {
92
98
  await this.recycleBinMenuItem.hover();
93
- await this.emptyRecycleBinBtn.click();
99
+ await (0, test_1.expect)(this.emptyRecycleBinBtn).toBeVisible();
100
+ // Force click is needed
101
+ await this.emptyRecycleBinBtn.click({ force: true });
94
102
  }
95
103
  async clickConfirmEmptyRecycleBinButton() {
96
104
  await this.confirmEmptyRecycleBinBtn.click();
@@ -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,qBAAqB,CAAU;IAC/B,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;IAExC,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,kBAAkB,CAAC,CAAC;QACpD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;QAC1E,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,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACnH,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,wCAAwC,CAAC,CAAC;QACrF,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;IAC3D,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,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,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,aAAqB;QAClD,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC/C,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,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,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,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,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,uCAAuC;QACvC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAA;QACzC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,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,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IAC1H,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,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;CACF;AAjLD,sCAiLC","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 mediaSectionCreateBtn: 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\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.mediaSectionCreateBtn = this.page.locator('#header').filter({hasText: 'Media'}).getByLabel('#actions_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 >> [label=\"Open actions menu\"]');\n this.emptyRecycleBinBtn = page.locator('[label=\"Empty Recycle Bin\"]').locator('svg');\n this.mediaTreeItem = page.locator('umb-media-tree-item');\n }\n\n async clickCreateMediaItemButton() {\n await this.createMediaItemBtn.click();\n }\n\n async enterMediaItemName(name: string) {\n await this.mediaNameTxt.clear();\n await this.mediaNameTxt.fill(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 deleteMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.clickDeleteButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickCreateMediaWithType(mediaTypeName: string) {\n await this.mediaSectionCreateBtn.click({force: true});\n await this.clickMediaTypeName(mediaTypeName);\n }\n\n async clickMediaTypeName(mediaTypeName: string) {\n await this.documentTypeNode.filter({hasText: mediaTypeName}).click();\n }\n\n async clickEmptyRecycleBinButton() {\n await this.recycleBinMenuItem.hover();\n await this.emptyRecycleBinBtn.click();\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 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 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 // Waits until the tree item is visible\n await expect(this.mediaHeader).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.mediaHeader.click();\n await this.mediaHeaderActionsMenu.click()\n await this.clickReloadButton();\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}).getByLabel(childName)).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 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 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\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 >> [label=\"Open actions menu\"]');\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 }\n\n async clickCreateMediaItemButton() {\n await this.createMediaItemBtn.click();\n }\n\n async enterMediaItemName(name: string) {\n await this.mediaNameTxt.clear();\n await this.mediaNameTxt.fill(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 deleteMediaItem(name: string) {\n await this.clickActionsMenuForName(name);\n await this.clickDeleteButton();\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 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 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 // Waits until the tree item is visible\n await expect(this.mediaHeader).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.mediaHeader.click();\n await this.mediaHeaderActionsMenu.click()\n await this.clickReloadButton();\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}).getByLabel(childName)).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 this.mediaTreeItem.getByText(mediaName, {exact: true}).click();\n }\n}"]}
@@ -26,7 +26,7 @@ class MemberApiHelper {
26
26
  return response.status();
27
27
  }
28
28
  async getAll() {
29
- return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?orderBy=username&skip=0&take=10000');
29
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?skip=0&take=1000');
30
30
  }
31
31
  async filterByMemberTypeId(memberTypeId) {
32
32
  return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?memberTypeId=' + memberTypeId + '&orderBy=username&skip=0&take=100');
@@ -43,7 +43,7 @@ class MemberApiHelper {
43
43
  const jsonMembers = await rootMembers.json();
44
44
  for (const member of jsonMembers.items) {
45
45
  if (member.variants[0].name === name) {
46
- return this.get(member.id);
46
+ return await this.get(member.id);
47
47
  }
48
48
  }
49
49
  return false;
@@ -53,7 +53,7 @@ class MemberApiHelper {
53
53
  const jsonMembers = await rootMembers.json();
54
54
  for (const member of jsonMembers.items) {
55
55
  if (member.variants[0].name === name) {
56
- return this.delete(member.id);
56
+ return await this.delete(member.id);
57
57
  }
58
58
  }
59
59
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"MemberApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {MemberBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MemberApiHelper {\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 + '/umbraco/management/api/v1/member/' + id);\n return await response.json();\n }\n\n async create(member) {\n if (member == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/member', member);\n return response.headers().location.split(\"v1/member/\").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 + '/umbraco/management/api/v1/member/' + id);\n return response.status();\n }\n\n async getAll() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?orderBy=username&skip=0&take=10000');\n }\n\n async filterByMemberTypeId(memberTypeId: string) {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?memberTypeId='+ memberTypeId + '&orderBy=username&skip=0&take=100');\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member/' + id);\n return response.status() === 200;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async getByName(name: string) {\n const rootMembers = await this.getAll();\n const jsonMembers = await rootMembers.json();\n\n for (const member of jsonMembers.items) {\n if (member.variants[0].name === name) {\n return this.get(member.id);\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootMembers = await this.getAll();\n const jsonMembers = await rootMembers.json();\n\n for (const member of jsonMembers.items) {\n if (member.variants[0].name === name) {\n return this.delete(member.id);\n }\n }\n return null;\n }\n\n async createDefaultMember(memberName: string, memberTypeId: string, email: string, username: string, password: string) {\n const member = new MemberBuilder()\n .addVariant()\n .withName(memberName)\n .done()\n .withEmail(email)\n .withUsername(username)\n .withPassword(password)\n .withMemberTypeId(memberTypeId)\n .build();\n return await this.create(member);\n }\n\n async createMemberWithMemberGroup(memberName: string, memberTypeId: string, email: string, username: string, password: string, memberGroupId: string) {\n const member = new MemberBuilder()\n .addVariant()\n .withName(memberName)\n .done()\n .withEmail(email)\n .withUsername(username)\n .withPassword(password)\n .withMemberTypeId(memberTypeId)\n .addGroup(memberGroupId)\n .build();\n return await this.create(member);\n }\n}"]}
1
+ {"version":3,"file":"MemberApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {MemberBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MemberApiHelper {\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 + '/umbraco/management/api/v1/member/' + id);\n return await response.json();\n }\n\n async create(member) {\n if (member == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/member', member);\n return response.headers().location.split(\"v1/member/\").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 + '/umbraco/management/api/v1/member/' + id);\n return response.status();\n }\n\n async getAll() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?skip=0&take=1000');\n }\n\n async filterByMemberTypeId(memberTypeId: string) {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/filter/member?memberTypeId='+ memberTypeId + '&orderBy=username&skip=0&take=100');\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/member/' + id);\n return response.status() === 200;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async getByName(name: string) {\n const rootMembers = await this.getAll();\n const jsonMembers = await rootMembers.json();\n\n for (const member of jsonMembers.items) {\n if (member.variants[0].name === name) {\n return await this.get(member.id);\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootMembers = await this.getAll();\n const jsonMembers = await rootMembers.json();\n \n for (const member of jsonMembers.items) { \n if (member.variants[0].name === name) {\n return await this.delete(member.id);\n }\n }\n return null;\n }\n\n async createDefaultMember(memberName: string, memberTypeId: string, email: string, username: string, password: string) {\n const member = new MemberBuilder()\n .addVariant()\n .withName(memberName)\n .done()\n .withEmail(email)\n .withUsername(username)\n .withPassword(password)\n .withMemberTypeId(memberTypeId)\n .build();\n return await this.create(member);\n }\n\n async createMemberWithMemberGroup(memberName: string, memberTypeId: string, email: string, username: string, password: string, memberGroupId: string) {\n const member = new MemberBuilder()\n .addVariant()\n .withName(memberName)\n .done()\n .withEmail(email)\n .withUsername(username)\n .withPassword(password)\n .withMemberTypeId(memberTypeId)\n .addGroup(memberGroupId)\n .build();\n return await this.create(member);\n }\n}"]}
@@ -29,7 +29,7 @@ class MemberUiHelper extends UiBaseLocators_1.UiBaseLocators {
29
29
  this.membersTab = page.locator('uui-tab[label="Members"]');
30
30
  this.searchTxt = page.locator('#input-search');
31
31
  this.memberNameTxt = page.locator('#name-input #input');
32
- this.commentsTxt = page.getByLabel('Textarea');
32
+ this.commentsTxt = page.locator('umb-content-workspace-view-edit-tab').locator('umb-property').filter({ hasText: 'Comments' }).locator('#textarea');
33
33
  this.memberTab = page.locator('uui-tab').filter({ hasText: 'Member' }).locator('svg');
34
34
  this.detailsTab = page.locator('uui-tab').filter({ hasText: 'Details' }).locator('svg');
35
35
  this.usernameTxt = page.getByLabel('Username', { exact: true });
@@ -66,18 +66,22 @@ class MemberUiHelper extends UiBaseLocators_1.UiBaseLocators {
66
66
  await this.searchTxt.fill(keyword);
67
67
  }
68
68
  async enterMemberName(name) {
69
+ await (0, test_1.expect)(this.memberNameTxt).toBeVisible();
69
70
  await this.memberNameTxt.clear();
70
71
  await this.memberNameTxt.fill(name);
71
72
  }
72
73
  async enterComments(comment) {
74
+ await (0, test_1.expect)(this.commentsTxt).toBeVisible();
73
75
  await this.commentsTxt.clear();
74
76
  await this.commentsTxt.fill(comment);
75
77
  }
76
78
  async enterUsername(username) {
79
+ await (0, test_1.expect)(this.usernameTxt).toBeVisible();
77
80
  await this.usernameTxt.clear();
78
81
  await this.usernameTxt.fill(username);
79
82
  }
80
83
  async enterEmail(email) {
84
+ await (0, test_1.expect)(this.emailTxt).toBeVisible();
81
85
  await this.emailTxt.clear();
82
86
  await this.emailTxt.fill(email);
83
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemberUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAChD,qDAAgD;AAEhD,MAAa,cAAe,SAAQ,+BAAc;IAC/B,UAAU,CAAU;IACpB,SAAS,CAAU;IACnB,aAAa,CAAU;IACvB,WAAW,CAAU;IACrB,SAAS,CAAU;IACnB,UAAU,CAAU;IACpB,WAAW,CAAU;IACrB,QAAQ,CAAU;IAClB,WAAW,CAAU;IACrB,kBAAkB,CAAU;IAC5B,qBAAqB,CAAU;IAC/B,cAAc,CAAU;IACxB,eAAe,CAAU;IACzB,6BAA6B,CAAU;IACvC,eAAe,CAAU;IACzB,iBAAiB,CAAU;IAC3B,cAAc,CAAU;IACxB,WAAW,CAAU;IACrB,OAAO,CAAU;IAElC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACpF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACpE,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;QACjG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC5C,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,eAAuB;QAC7C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAClE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAgB,EAAE,KAAa;QAC3D,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpG,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,kCAAkC;QACtC,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,eAAuB;QACxD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF;AAvJD,wCAuJC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class MemberUiHelper extends UiBaseLocators {\n private readonly membersTab: Locator;\n private readonly searchTxt: Locator;\n private readonly memberNameTxt: Locator;\n private readonly commentsTxt: Locator;\n private readonly memberTab: Locator;\n private readonly detailsTab: Locator;\n private readonly usernameTxt: Locator;\n private readonly emailTxt: Locator;\n private readonly passwordTxt: Locator;\n private readonly confirmPasswordTxt: Locator;\n private readonly confirmNewPasswordTxt: Locator;\n private readonly approvedSlider: Locator;\n private readonly lockedOutSlider: Locator;\n private readonly twoFactorAuthenticationSlider: Locator;\n private readonly memberInfoItems: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly newPasswordTxt: Locator;\n private readonly membersMenu: Locator;\n private readonly infoTab: Locator;\n\n constructor(page: Page) {\n super(page);\n this.membersTab = page.locator('uui-tab[label=\"Members\"]');\n this.searchTxt = page.locator('#input-search');\n this.memberNameTxt = page.locator('#name-input #input');\n this.commentsTxt = page.getByLabel('Textarea');\n this.memberTab = page.locator('uui-tab').filter({hasText: 'Member'}).locator('svg');\n this.detailsTab = page.locator('uui-tab').filter({hasText: 'Details'}).locator('svg');\n this.usernameTxt = page.getByLabel('Username', {exact: true});\n this.emailTxt = page.getByLabel('Email', {exact: true});\n this.passwordTxt = page.getByLabel('Enter your new password', {exact: true});\n this.confirmPasswordTxt = page.getByLabel('Confirm password', {exact: true});\n this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', {exact: true});\n this.approvedSlider = page.locator('[label=\"Approved\"] #slider');\n this.lockedOutSlider = page.locator('[label=\"Locked out\"] #slider');\n this.twoFactorAuthenticationSlider = page.locator('[label=\"Two-Factor authentication\"] #slider');\n this.memberInfoItems = page.locator('umb-stack > div');\n this.changePasswordBtn = page.getByLabel('Change password', {exact: true});\n this.newPasswordTxt = page.getByLabel('New password', {exact: true});\n this.membersMenu = page.locator('umb-menu').getByLabel('Members', {exact: true});\n this.infoTab = page.locator('uui-tab').filter({hasText: 'Info'}).locator('svg');\n }\n\n async clickMembersTab() {\n await this.membersTab.click();\n }\n\n async clickMemberTab() {\n await expect(this.memberTab).toBeVisible();\n await this.memberTab.click();\n }\n\n async clickDetailsTab() {\n await expect(this.detailsTab).toBeVisible();\n await this.detailsTab.click();\n }\n\n async clickMemberLinkByName(memberName: string) {\n await this.page.getByRole('link', {name: memberName}).click();\n }\n\n async enterSearchKeyword(keyword: string) {\n await expect(this.searchTxt).toBeVisible();\n await this.searchTxt.clear();\n await this.searchTxt.fill(keyword);\n }\n\n async enterMemberName(name: string) {\n await this.memberNameTxt.clear();\n await this.memberNameTxt.fill(name);\n }\n\n async enterComments(comment: string) {\n await this.commentsTxt.clear();\n await this.commentsTxt.fill(comment);\n }\n\n async enterUsername(username: string) {\n await this.usernameTxt.clear();\n await this.usernameTxt.fill(username);\n }\n\n async enterEmail(email: string) {\n await this.emailTxt.clear();\n await this.emailTxt.fill(email);\n }\n\n async enterPassword(password: string) {\n await this.passwordTxt.clear();\n await this.passwordTxt.fill(password);\n }\n\n async enterConfirmPassword(password: string) {\n await this.confirmPasswordTxt.clear();\n await this.confirmPasswordTxt.fill(password);\n }\n\n async enterConfirmNewPassword(password: string) {\n await this.confirmNewPasswordTxt.clear();\n await this.confirmNewPasswordTxt.fill(password);\n }\n\n async chooseMemberGroup(memberGroupName: string) {\n await this.clickChooseButton();\n await this.page.getByText(memberGroupName, {exact: true}).click();\n await this.submitBtn.click();\n }\n\n async doesMemberInfoHaveValue(infoName: string, value: string) {\n return expect(this.memberInfoItems.filter({hasText: infoName}).locator('span')).toHaveText(value);\n }\n\n async clickApprovedSlider() {\n await this.approvedSlider.click();\n }\n\n async clickLockedOutSlider() {\n await this.lockedOutSlider.click();\n }\n\n async clickTwoFactorAuthenticationSlider() {\n await this.twoFactorAuthenticationSlider.click();\n }\n\n async clickChangePasswordButton() {\n await this.changePasswordBtn.click();\n }\n\n async clickRemoveMemberGroupByName(memberGroupName: string) {\n await this.page.locator('[name=\"' + memberGroupName + '\"]').getByLabel('Remove').click();\n }\n\n async enterNewPassword(password: string) {\n await this.newPasswordTxt.clear();\n await this.newPasswordTxt.fill(password);\n }\n\n async clickMembersMenu() {\n await this.membersMenu.click();\n }\n\n async goToMembers() {\n await this.goToSection(ConstantHelper.sections.members);\n await this.clickMembersMenu();\n }\n\n async clickInfoTab() {\n await expect(this.infoTab).toBeVisible();\n await this.infoTab.click();\n }\n}\n"]}
1
+ {"version":3,"file":"MemberUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class MemberUiHelper extends UiBaseLocators {\n private readonly membersTab: Locator;\n private readonly searchTxt: Locator;\n private readonly memberNameTxt: Locator;\n private readonly commentsTxt: Locator;\n private readonly memberTab: Locator;\n private readonly detailsTab: Locator;\n private readonly usernameTxt: Locator;\n private readonly emailTxt: Locator;\n private readonly passwordTxt: Locator;\n private readonly confirmPasswordTxt: Locator;\n private readonly confirmNewPasswordTxt: Locator;\n private readonly approvedSlider: Locator;\n private readonly lockedOutSlider: Locator;\n private readonly twoFactorAuthenticationSlider: Locator;\n private readonly memberInfoItems: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly newPasswordTxt: Locator;\n private readonly membersMenu: Locator;\n private readonly infoTab: Locator;\n\n constructor(page: Page) {\n super(page);\n this.membersTab = page.locator('uui-tab[label=\"Members\"]');\n this.searchTxt = page.locator('#input-search');\n this.memberNameTxt = page.locator('#name-input #input');\n this.commentsTxt = page.locator('umb-content-workspace-view-edit-tab').locator('umb-property').filter({hasText: 'Comments'}).locator('#textarea');\n this.memberTab = page.locator('uui-tab').filter({hasText: 'Member'}).locator('svg');\n this.detailsTab = page.locator('uui-tab').filter({hasText: 'Details'}).locator('svg');\n this.usernameTxt = page.getByLabel('Username', {exact: true});\n this.emailTxt = page.getByLabel('Email', {exact: true});\n this.passwordTxt = page.getByLabel('Enter your new password', {exact: true});\n this.confirmPasswordTxt = page.getByLabel('Confirm password', {exact: true});\n this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', {exact: true});\n this.approvedSlider = page.locator('[label=\"Approved\"] #slider');\n this.lockedOutSlider = page.locator('[label=\"Locked out\"] #slider');\n this.twoFactorAuthenticationSlider = page.locator('[label=\"Two-Factor authentication\"] #slider');\n this.memberInfoItems = page.locator('umb-stack > div');\n this.changePasswordBtn = page.getByLabel('Change password', {exact: true});\n this.newPasswordTxt = page.getByLabel('New password', {exact: true});\n this.membersMenu = page.locator('umb-menu').getByLabel('Members', {exact: true});\n this.infoTab = page.locator('uui-tab').filter({hasText: 'Info'}).locator('svg');\n }\n\n async clickMembersTab() {\n await this.membersTab.click();\n }\n\n async clickMemberTab() {\n await expect(this.memberTab).toBeVisible();\n await this.memberTab.click();\n }\n\n async clickDetailsTab() {\n await expect(this.detailsTab).toBeVisible();\n await this.detailsTab.click();\n }\n\n async clickMemberLinkByName(memberName: string) {\n await this.page.getByRole('link', {name: memberName}).click();\n }\n\n async enterSearchKeyword(keyword: string) {\n await expect(this.searchTxt).toBeVisible();\n await this.searchTxt.clear();\n await this.searchTxt.fill(keyword);\n }\n\n async enterMemberName(name: string) {\n await expect(this.memberNameTxt).toBeVisible();\n await this.memberNameTxt.clear();\n await this.memberNameTxt.fill(name);\n }\n\n async enterComments(comment: string) {\n await expect(this.commentsTxt).toBeVisible();\n await this.commentsTxt.clear();\n await this.commentsTxt.fill(comment);\n }\n\n async enterUsername(username: string) {\n await expect(this.usernameTxt).toBeVisible();\n await this.usernameTxt.clear();\n await this.usernameTxt.fill(username);\n }\n\n async enterEmail(email: string) {\n await expect(this.emailTxt).toBeVisible();\n await this.emailTxt.clear();\n await this.emailTxt.fill(email);\n }\n\n async enterPassword(password: string) {\n await this.passwordTxt.clear();\n await this.passwordTxt.fill(password);\n }\n\n async enterConfirmPassword(password: string) {\n await this.confirmPasswordTxt.clear();\n await this.confirmPasswordTxt.fill(password);\n }\n\n async enterConfirmNewPassword(password: string) {\n await this.confirmNewPasswordTxt.clear();\n await this.confirmNewPasswordTxt.fill(password);\n }\n\n async chooseMemberGroup(memberGroupName: string) {\n await this.clickChooseButton();\n await this.page.getByText(memberGroupName, {exact: true}).click();\n await this.submitBtn.click();\n }\n\n async doesMemberInfoHaveValue(infoName: string, value: string) {\n return expect(this.memberInfoItems.filter({hasText: infoName}).locator('span')).toHaveText(value);\n }\n\n async clickApprovedSlider() {\n await this.approvedSlider.click();\n }\n\n async clickLockedOutSlider() {\n await this.lockedOutSlider.click();\n }\n\n async clickTwoFactorAuthenticationSlider() {\n await this.twoFactorAuthenticationSlider.click();\n }\n\n async clickChangePasswordButton() {\n await this.changePasswordBtn.click();\n }\n\n async clickRemoveMemberGroupByName(memberGroupName: string) {\n await this.page.locator('[name=\"' + memberGroupName + '\"]').getByLabel('Remove').click();\n }\n\n async enterNewPassword(password: string) {\n await this.newPasswordTxt.clear();\n await this.newPasswordTxt.fill(password);\n }\n\n async clickMembersMenu() {\n await this.membersMenu.click();\n }\n\n async goToMembers() {\n await this.goToSection(ConstantHelper.sections.members);\n await this.clickMembersMenu();\n }\n\n async clickInfoTab() {\n await expect(this.infoTab).toBeVisible();\n await this.infoTab.click();\n }\n}\n"]}
@@ -60,14 +60,17 @@ class PackageUiHelper extends UiBaseLocators_1.UiBaseLocators {
60
60
  }
61
61
  async clickCreatedTab() {
62
62
  await this.page.waitForTimeout(500);
63
- await this.createdTabBtn.click({ force: true });
63
+ await (0, test_1.expect)(this.createdTabBtn).toBeVisible();
64
+ await this.createdTabBtn.click();
64
65
  await this.page.waitForTimeout(500);
65
66
  }
66
67
  async clickInstalledTab() {
67
- await this.installedTabBtn.click({ force: true });
68
+ await (0, test_1.expect)(this.installedTabBtn).toBeVisible();
69
+ await this.installedTabBtn.click();
68
70
  }
69
71
  async clickPackagesTab() {
70
- await this.packagesTabBtn.click({ force: true });
72
+ await (0, test_1.expect)(this.packagesTabBtn).toBeVisible();
73
+ await this.packagesTabBtn.click();
71
74
  }
72
75
  async clickChooseBtn() {
73
76
  await this.chooseModalBtn.click();
@@ -91,7 +94,9 @@ class PackageUiHelper extends UiBaseLocators_1.UiBaseLocators {
91
94
  await this.page.waitForTimeout(500);
92
95
  }
93
96
  async clickDeleteButtonForPackageName(packageName) {
94
- await this.page.locator('uui-ref-node-package', { hasText: packageName }).getByLabel('Delete').click({ force: true });
97
+ const deletePackageWithNameLocator = this.page.locator('uui-ref-node-package', { hasText: packageName }).getByLabel('Delete');
98
+ await (0, test_1.expect)(deletePackageWithNameLocator).toBeVisible();
99
+ await deletePackageWithNameLocator.click();
95
100
  }
96
101
  async clickSaveChangesToPackageButton() {
97
102
  await this.saveChangesToPackageBtn.click();
@@ -100,7 +105,8 @@ class PackageUiHelper extends UiBaseLocators_1.UiBaseLocators {
100
105
  await this.addContentToPackageBtn.click();
101
106
  }
102
107
  async clickAddMediaToPackageButton() {
103
- await this.addMediaToPackageBtn.click({ force: true });
108
+ await (0, test_1.expect)(this.addMediaToPackageBtn).toBeVisible();
109
+ await this.addMediaToPackageBtn.click();
104
110
  }
105
111
  async clickAddDocumentTypeToPackageButton() {
106
112
  await this.addDocumentTypeToPackageBtn.click();
@@ -1 +1 @@
1
- {"version":3,"file":"PackageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page,} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {umbracoConfig} from \"../../umbraco.config\";\n\nexport class PackageUiHelper extends UiBaseLocators {\n private readonly createdTabBtn: Locator;\n private readonly marketPlaceIFrame: Locator;\n private readonly installedTabBtn: Locator;\n private readonly packagesTabBtn: Locator;\n private readonly createPackageBtn: Locator;\n private readonly packageNameTxt: Locator;\n private readonly saveChangesToPackageBtn: Locator;\n private readonly addContentToPackageBtn: Locator;\n private readonly addMediaToPackageBtn: Locator;\n private readonly addDocumentTypeToPackageBtn: Locator;\n private readonly addMediaTypeToPackageBtn: Locator;\n private readonly addLanguageToPackageBtn: Locator;\n private readonly addDictionaryToPackageBtn: Locator;\n private readonly addDataTypesToPackageBtn: Locator;\n private readonly addTemplatesToPackagesBtn: Locator;\n private readonly addPartialViewToPackageBtn: Locator;\n private readonly addScriptToPackageBtn: Locator;\n private readonly addStylesheetToPackageBtn: Locator;\n private readonly downloadPackageBtn: Locator;\n private readonly propertyLayout: Locator;\n private readonly umbracoBackofficePackage: Locator;\n private readonly viewsId: Locator;\n\n constructor(page: Page) {\n super(page);\n this.viewsId = page.locator('#views');\n // Packages\n this.packagesTabBtn = this.viewsId.getByRole('tab', { name: 'Packages' });\n this.marketPlaceIFrame = page.frameLocator('iframe[title=\"Umbraco Marketplace\"]').locator('umb-market-app');\n // Installed\n this.installedTabBtn = this.viewsId.getByRole('tab', { name: 'Installed' });\n // Created\n this.propertyLayout = page.locator('umb-property-layout');\n this.createdTabBtn = this.viewsId.getByRole('tab', { name: 'Created' });\n this.createPackageBtn = page.getByLabel(\"Create package\");\n this.packageNameTxt = page.getByLabel('Name of the package');\n this.saveChangesToPackageBtn = page.getByLabel('Save changes to package');\n this.addContentToPackageBtn = page.locator('umb-input-document').getByLabel('Choose');\n this.addMediaToPackageBtn = page.locator('umb-input-media').getByLabel('Choose');\n this.addDocumentTypeToPackageBtn = this.propertyLayout.filter({hasText: 'Document Types'}).getByLabel('Choose');\n this.addMediaTypeToPackageBtn = this.propertyLayout.filter({hasText: 'Media Types'}).getByLabel('Choose');\n this.addLanguageToPackageBtn = this.propertyLayout.filter({hasText: 'Languages'}).getByLabel('Choose');\n this.addDictionaryToPackageBtn = this.propertyLayout.filter({hasText: 'Dictionary'}).getByLabel('Choose');\n this.addDataTypesToPackageBtn = this.propertyLayout.filter({hasText: 'Data Types'}).getByLabel('Choose');\n this.addTemplatesToPackagesBtn = this.propertyLayout.filter({hasText: 'Templates'}).getByLabel('Choose');\n this.addPartialViewToPackageBtn = this.propertyLayout.filter({hasText: 'Partial Views'}).getByLabel('Choose');\n this.addScriptToPackageBtn = this.propertyLayout.filter({hasText: 'Scripts'}).getByLabel('Choose');\n this.addStylesheetToPackageBtn = this.propertyLayout.filter({hasText: 'Stylesheets'}).getByLabel('Choose');\n this.downloadPackageBtn = page.getByLabel('Download');\n this.umbracoBackofficePackage = page.locator('uui-ref-node-package', {hasText: '@umbraco-cms/backoffice'});\n }\n\n async isUmbracoBackofficePackageVisible(isVisible = true) {\n return await expect(this.umbracoBackofficePackage).toBeVisible({visible: isVisible});\n }\n\n async clickCreatedTab() {\n await this.page.waitForTimeout(500);\n await this.createdTabBtn.click({force: true});\n await this.page.waitForTimeout(500);\n }\n\n async clickInstalledTab() {\n await this.installedTabBtn.click({force: true});\n }\n\n async clickPackagesTab() {\n await this.packagesTabBtn.click({force: true});\n }\n\n async clickChooseBtn() {\n await this.chooseModalBtn.click();\n }\n\n async isMarketPlaceIFrameVisible(isVisible = true) {\n return await expect(this.marketPlaceIFrame).toBeVisible({visible: isVisible});\n }\n\n async clickCreatePackageButton() {\n await this.createPackageBtn.click();\n }\n\n async enterPackageName(packageName: string) {\n await this.packageNameTxt.clear();\n await this.packageNameTxt.fill(packageName);\n await this.page.waitForTimeout(500);\n }\n\n async isPackageNameVisible(packageName: string, isVisible = true) {\n return await expect(this.page.getByRole('button', {name: packageName})).toBeVisible({visible: isVisible});\n }\n\n async clickExistingPackageName(packageName: string) {\n await this.page.getByRole('button', {name: packageName}).click();\n await this.page.waitForTimeout(500);\n }\n\n async clickDeleteButtonForPackageName(packageName: string) {\n await this.page.locator('uui-ref-node-package', {hasText: packageName}).getByLabel('Delete').click({force: true});\n }\n\n async clickSaveChangesToPackageButton() {\n await this.saveChangesToPackageBtn.click();\n }\n\n async clickAddContentToPackageButton() {\n await this.addContentToPackageBtn.click();\n }\n\n async clickAddMediaToPackageButton() {\n await this.addMediaToPackageBtn.click({force: true});\n }\n\n async clickAddDocumentTypeToPackageButton() {\n await this.addDocumentTypeToPackageBtn.click();\n }\n\n async clickAddMediaTypeToPackageButton() {\n await this.addMediaTypeToPackageBtn.click();\n }\n\n async clickAddLanguageToPackageButton() {\n await this.addLanguageToPackageBtn.click();\n }\n\n async clickAddDictionaryToPackageButton() {\n await this.addDictionaryToPackageBtn.click();\n }\n\n async clickAddDataTypesToPackageButton() {\n await this.addDataTypesToPackageBtn.click();\n }\n\n async clickAddTemplatesToPackageButton() {\n await this.addTemplatesToPackagesBtn.click();\n }\n\n async clickAddPartialViewToPackageButton() {\n await this.addPartialViewToPackageBtn.click();\n }\n\n async clickAddScriptToPackageButton() {\n await this.addScriptToPackageBtn.click();\n }\n\n async clickAddStylesheetToPackageButton() {\n await this.addStylesheetToPackageBtn.click();\n }\n\n // Downloads the package and converts it to a string\n async downloadPackage(packageId: string) {\n const responsePromise = this.page.waitForResponse(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/package/created/' + packageId + '/download');\n await this.downloadPackageBtn.click();\n const response = await responsePromise;\n const body = await response.body();\n return body.toString().trim();\n }\n}"]}
1
+ {"version":3,"file":"PackageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page,} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {umbracoConfig} from \"../../umbraco.config\";\n\nexport class PackageUiHelper extends UiBaseLocators {\n private readonly createdTabBtn: Locator;\n private readonly marketPlaceIFrame: Locator;\n private readonly installedTabBtn: Locator;\n private readonly packagesTabBtn: Locator;\n private readonly createPackageBtn: Locator;\n private readonly packageNameTxt: Locator;\n private readonly saveChangesToPackageBtn: Locator;\n private readonly addContentToPackageBtn: Locator;\n private readonly addMediaToPackageBtn: Locator;\n private readonly addDocumentTypeToPackageBtn: Locator;\n private readonly addMediaTypeToPackageBtn: Locator;\n private readonly addLanguageToPackageBtn: Locator;\n private readonly addDictionaryToPackageBtn: Locator;\n private readonly addDataTypesToPackageBtn: Locator;\n private readonly addTemplatesToPackagesBtn: Locator;\n private readonly addPartialViewToPackageBtn: Locator;\n private readonly addScriptToPackageBtn: Locator;\n private readonly addStylesheetToPackageBtn: Locator;\n private readonly downloadPackageBtn: Locator;\n private readonly propertyLayout: Locator;\n private readonly umbracoBackofficePackage: Locator;\n private readonly viewsId: Locator;\n\n constructor(page: Page) {\n super(page);\n this.viewsId = page.locator('#views');\n // Packages\n this.packagesTabBtn = this.viewsId.getByRole('tab', { name: 'Packages' });\n this.marketPlaceIFrame = page.frameLocator('iframe[title=\"Umbraco Marketplace\"]').locator('umb-market-app');\n // Installed\n this.installedTabBtn = this.viewsId.getByRole('tab', { name: 'Installed' });\n // Created\n this.propertyLayout = page.locator('umb-property-layout');\n this.createdTabBtn = this.viewsId.getByRole('tab', { name: 'Created' });\n this.createPackageBtn = page.getByLabel(\"Create package\");\n this.packageNameTxt = page.getByLabel('Name of the package');\n this.saveChangesToPackageBtn = page.getByLabel('Save changes to package');\n this.addContentToPackageBtn = page.locator('umb-input-document').getByLabel('Choose');\n this.addMediaToPackageBtn = page.locator('umb-input-media').getByLabel('Choose');\n this.addDocumentTypeToPackageBtn = this.propertyLayout.filter({hasText: 'Document Types'}).getByLabel('Choose');\n this.addMediaTypeToPackageBtn = this.propertyLayout.filter({hasText: 'Media Types'}).getByLabel('Choose');\n this.addLanguageToPackageBtn = this.propertyLayout.filter({hasText: 'Languages'}).getByLabel('Choose');\n this.addDictionaryToPackageBtn = this.propertyLayout.filter({hasText: 'Dictionary'}).getByLabel('Choose');\n this.addDataTypesToPackageBtn = this.propertyLayout.filter({hasText: 'Data Types'}).getByLabel('Choose');\n this.addTemplatesToPackagesBtn = this.propertyLayout.filter({hasText: 'Templates'}).getByLabel('Choose');\n this.addPartialViewToPackageBtn = this.propertyLayout.filter({hasText: 'Partial Views'}).getByLabel('Choose');\n this.addScriptToPackageBtn = this.propertyLayout.filter({hasText: 'Scripts'}).getByLabel('Choose');\n this.addStylesheetToPackageBtn = this.propertyLayout.filter({hasText: 'Stylesheets'}).getByLabel('Choose');\n this.downloadPackageBtn = page.getByLabel('Download');\n this.umbracoBackofficePackage = page.locator('uui-ref-node-package', {hasText: '@umbraco-cms/backoffice'});\n }\n\n async isUmbracoBackofficePackageVisible(isVisible = true) {\n return await expect(this.umbracoBackofficePackage).toBeVisible({visible: isVisible});\n }\n\n async clickCreatedTab() {\n await this.page.waitForTimeout(500);\n await expect(this.createdTabBtn).toBeVisible();\n await this.createdTabBtn.click();\n await this.page.waitForTimeout(500);\n }\n\n async clickInstalledTab() {\n await expect(this.installedTabBtn).toBeVisible();\n await this.installedTabBtn.click();\n }\n\n async clickPackagesTab() {\n await expect(this.packagesTabBtn).toBeVisible();\n await this.packagesTabBtn.click();\n }\n\n async clickChooseBtn() {\n await this.chooseModalBtn.click();\n }\n\n async isMarketPlaceIFrameVisible(isVisible = true) {\n return await expect(this.marketPlaceIFrame).toBeVisible({visible: isVisible});\n }\n\n async clickCreatePackageButton() {\n await this.createPackageBtn.click();\n }\n\n async enterPackageName(packageName: string) {\n await this.packageNameTxt.clear();\n await this.packageNameTxt.fill(packageName);\n await this.page.waitForTimeout(500);\n }\n\n async isPackageNameVisible(packageName: string, isVisible = true) {\n return await expect(this.page.getByRole('button', {name: packageName})).toBeVisible({visible: isVisible});\n }\n\n async clickExistingPackageName(packageName: string) {\n await this.page.getByRole('button', {name: packageName}).click();\n await this.page.waitForTimeout(500);\n }\n\n async clickDeleteButtonForPackageName(packageName: string) {\n const deletePackageWithNameLocator = this.page.locator('uui-ref-node-package', {hasText: packageName}).getByLabel('Delete');\n await expect(deletePackageWithNameLocator).toBeVisible();\n await deletePackageWithNameLocator.click();\n }\n\n async clickSaveChangesToPackageButton() {\n await this.saveChangesToPackageBtn.click();\n }\n\n async clickAddContentToPackageButton() {\n await this.addContentToPackageBtn.click();\n }\n\n async clickAddMediaToPackageButton() {\n await expect(this.addMediaToPackageBtn).toBeVisible();\n await this.addMediaToPackageBtn.click();\n }\n\n async clickAddDocumentTypeToPackageButton() {\n await this.addDocumentTypeToPackageBtn.click();\n }\n\n async clickAddMediaTypeToPackageButton() {\n await this.addMediaTypeToPackageBtn.click();\n }\n\n async clickAddLanguageToPackageButton() {\n await this.addLanguageToPackageBtn.click();\n }\n\n async clickAddDictionaryToPackageButton() {\n await this.addDictionaryToPackageBtn.click();\n }\n\n async clickAddDataTypesToPackageButton() {\n await this.addDataTypesToPackageBtn.click();\n }\n\n async clickAddTemplatesToPackageButton() {\n await this.addTemplatesToPackagesBtn.click();\n }\n\n async clickAddPartialViewToPackageButton() {\n await this.addPartialViewToPackageBtn.click();\n }\n\n async clickAddScriptToPackageButton() {\n await this.addScriptToPackageBtn.click();\n }\n\n async clickAddStylesheetToPackageButton() {\n await this.addStylesheetToPackageBtn.click();\n }\n\n // Downloads the package and converts it to a string\n async downloadPackage(packageId: string) {\n const responsePromise = this.page.waitForResponse(umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/package/created/' + packageId + '/download');\n await this.downloadPackageBtn.click();\n const response = await responsePromise;\n const body = await response.body();\n return body.toString().trim();\n }\n}"]}
@@ -15,7 +15,7 @@ class StylesheetUiHelper extends UiBaseLocators_1.UiBaseLocators {
15
15
  stylesheetTree;
16
16
  constructor(page) {
17
17
  super(page);
18
- this.stylesheetNameTxt = page.getByLabel('Enter a name...');
18
+ this.stylesheetNameTxt = page.locator('umb-stylesheet-workspace-editor').locator('#workspace-header #input');
19
19
  this.addRTEBtn = page.getByLabel('Add rule');
20
20
  this.styleNameTxt = page.getByLabel('Rule name');
21
21
  this.styleSelectorTxt = page.getByLabel('Rule selector');
@@ -1 +1 @@
1
- {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport { ConstantHelper } from \"./ConstantHelper\";\n\nexport class StylesheetUiHelper extends UiBaseLocators{\n private readonly newStylesheetBtn: Locator;\n private readonly stylesheetNameTxt: Locator;\n private readonly addRTEBtn: Locator;\n private readonly styleNameTxt: Locator;\n private readonly styleSelectorTxt: Locator;\n private readonly styleStylesTxt: Locator;\n private readonly newRichTextEditorStylesheetBtn: Locator;\n private readonly stylesheetTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.stylesheetNameTxt = page.getByLabel('Enter a name...');\n this.addRTEBtn = page.getByLabel('Add rule');\n this.styleNameTxt = page.getByLabel('Rule name');\n this.styleSelectorTxt = page.getByLabel('Rule selector');\n this.styleStylesTxt = page.getByLabel('Rule styles');\n this.newStylesheetBtn = page.getByLabel('New Stylesheet');\n this.newRichTextEditorStylesheetBtn = page.getByLabel('New Rich Text Editor Stylesheet');\n this.stylesheetTree = page.locator('umb-tree[alias=\"Umb.Tree.Stylesheet\"]');\n }\n\n async clickActionsMenuForStylesheet(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForStylesheet('Stylesheets');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Stylesheets');\n }\n\n async clickNewStylesheetButton() {\n await this.newStylesheetBtn.click();\n }\n \n async clickNewRichTextEditorStylesheetButton() {\n await this.newRichTextEditorStylesheetBtn.click();\n }\n\n async enterStylesheetName(stylesheetName: string) {\n await expect(this.stylesheetNameTxt).toBeVisible();\n await this.stylesheetNameTxt.clear();\n await this.stylesheetNameTxt.fill(stylesheetName);\n }\n \n async enterStylesheetContent(stylesheetContent: string) {\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(stylesheetContent);\n }\n\n async addRTEStyle(styleName: string, styleSelector: string, styleStyles: string) {\n await this.addRTEBtn.click();\n await this.fillRTEStyleForm(styleName, styleSelector, styleStyles);\n }\n\n async openStylesheetByNameAtRoot(stylesheetName: string) {\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n\n async editRTEStyle(styleName: string, newStyleName: string, newStyleSelector: string, newStyleStyles: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Edit\"]').click();\n await this.fillRTEStyleForm(newStyleName, newStyleSelector, newStyleStyles);\n }\n\n async fillRTEStyleForm(styleName: string, styleSelector: string, styleStyles: string) {\n await expect(this.styleNameTxt).toBeVisible();\n await this.styleNameTxt.clear();\n await this.styleNameTxt.fill(styleName);\n await this.styleSelectorTxt.clear();\n await this.styleSelectorTxt.fill(styleSelector);\n await this.styleStylesTxt.clear();\n await this.styleStylesTxt.fill(styleStyles);\n await this.clickSubmitButton();\n }\n\n async removeRTEStyle(styleName: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Remove\"]').click();\n }\n\n async reloadStylesheetTree() {\n await this.reloadTree('Stylesheets');\n }\n\n async isStylesheetRootTreeItemVisible(stylesheetName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadStylesheetTree();\n }\n return expect(this.stylesheetTree.getByText(stylesheetName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n}"]}
1
+ {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport { ConstantHelper } from \"./ConstantHelper\";\n\nexport class StylesheetUiHelper extends UiBaseLocators{\n private readonly newStylesheetBtn: Locator;\n private readonly stylesheetNameTxt: Locator;\n private readonly addRTEBtn: Locator;\n private readonly styleNameTxt: Locator;\n private readonly styleSelectorTxt: Locator;\n private readonly styleStylesTxt: Locator;\n private readonly newRichTextEditorStylesheetBtn: Locator;\n private readonly stylesheetTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.stylesheetNameTxt = page.locator('umb-stylesheet-workspace-editor').locator('#workspace-header #input');\n this.addRTEBtn = page.getByLabel('Add rule');\n this.styleNameTxt = page.getByLabel('Rule name');\n this.styleSelectorTxt = page.getByLabel('Rule selector');\n this.styleStylesTxt = page.getByLabel('Rule styles');\n this.newStylesheetBtn = page.getByLabel('New Stylesheet');\n this.newRichTextEditorStylesheetBtn = page.getByLabel('New Rich Text Editor Stylesheet');\n this.stylesheetTree = page.locator('umb-tree[alias=\"Umb.Tree.Stylesheet\"]');\n }\n\n async clickActionsMenuForStylesheet(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForStylesheet('Stylesheets');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Stylesheets');\n }\n\n async clickNewStylesheetButton() {\n await this.newStylesheetBtn.click();\n }\n \n async clickNewRichTextEditorStylesheetButton() {\n await this.newRichTextEditorStylesheetBtn.click();\n }\n\n async enterStylesheetName(stylesheetName: string) {\n await expect(this.stylesheetNameTxt).toBeVisible();\n await this.stylesheetNameTxt.clear();\n await this.stylesheetNameTxt.fill(stylesheetName);\n }\n \n async enterStylesheetContent(stylesheetContent: string) {\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(stylesheetContent);\n }\n\n async addRTEStyle(styleName: string, styleSelector: string, styleStyles: string) {\n await this.addRTEBtn.click();\n await this.fillRTEStyleForm(styleName, styleSelector, styleStyles);\n }\n\n async openStylesheetByNameAtRoot(stylesheetName: string) {\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n\n async editRTEStyle(styleName: string, newStyleName: string, newStyleSelector: string, newStyleStyles: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Edit\"]').click();\n await this.fillRTEStyleForm(newStyleName, newStyleSelector, newStyleStyles);\n }\n\n async fillRTEStyleForm(styleName: string, styleSelector: string, styleStyles: string) {\n await expect(this.styleNameTxt).toBeVisible();\n await this.styleNameTxt.clear();\n await this.styleNameTxt.fill(styleName);\n await this.styleSelectorTxt.clear();\n await this.styleSelectorTxt.fill(styleSelector);\n await this.styleStylesTxt.clear();\n await this.styleStylesTxt.fill(styleStyles);\n await this.clickSubmitButton();\n }\n\n async removeRTEStyle(styleName: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Remove\"]').click();\n }\n\n async reloadStylesheetTree() {\n await this.reloadTree('Stylesheets');\n }\n\n async isStylesheetRootTreeItemVisible(stylesheetName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadStylesheetTree();\n }\n return expect(this.stylesheetTree.getByText(stylesheetName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n}"]}
@@ -31,12 +31,12 @@ class TemplateUiHelper extends UiBaseLocators_1.UiBaseLocators {
31
31
  await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
32
32
  await this.reloadTemplateTree();
33
33
  if (childTemplateName === '') {
34
- await this.page.getByLabel(templateName).click();
34
+ await this.page.getByLabel(templateName, { exact: true }).click();
35
35
  await (0, test_1.expect)(this.enterAName).toHaveValue(templateName);
36
36
  }
37
37
  else {
38
38
  await this.clickCaretButtonForName(templateName);
39
- await this.page.getByLabel(childTemplateName).click();
39
+ await this.page.getByLabel(childTemplateName, { exact: true }).click();
40
40
  await (0, test_1.expect)(this.enterAName).toHaveValue(childTemplateName);
41
41
  }
42
42
  await this.page.waitForTimeout(1000);