@umbraco/playwright-testhelpers 2.0.0-beta.80 → 2.0.0-beta.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/helpers/ApiHelpers.js +2 -2
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +11 -0
- package/dist/lib/helpers/ContentUiHelper.js +38 -0
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +7 -0
- package/dist/lib/helpers/DataTypeApiHelper.js +51 -0
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.js +4 -4
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DictionaryUiHelper.js +1 -0
- package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js +1 -1
- package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
- package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaApiHelper.d.ts +2 -0
- package/dist/lib/helpers/MediaApiHelper.js +18 -0
- package/dist/lib/helpers/MediaApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaUiHelper.d.ts +22 -0
- package/dist/lib/helpers/MediaUiHelper.js +65 -1
- package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
- package/dist/lib/helpers/MemberGroupUiHelper.d.ts +2 -0
- package/dist/lib/helpers/MemberGroupUiHelper.js +9 -1
- package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/PackageUiHelper.js +15 -15
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.d.ts +3 -1
- package/dist/lib/helpers/PartialViewUiHelper.js +7 -1
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptUiHelper.js +2 -2
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js +1 -1
- package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +7 -7
- package/dist/lib/helpers/UiBaseLocators.js +25 -24
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserApiHelper.d.ts +3 -1
- package/dist/lib/helpers/UserApiHelper.js +8 -1
- package/dist/lib/helpers/UserApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.js +1 -1
- package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.js +1 -1
- package/dist/lib/helpers/UserUiHelper.js.map +1 -1
- package/dist/lib/helpers/testExtension.js +3 -1
- package/dist/lib/helpers/testExtension.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {MediaBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MediaApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n if (media.hasChildren) {\n return await this.recurseDeleteChildren(media);\n }\n return await this.delete(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, true);\n }\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/root?skip=0&take=10000');\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.variants[0].name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n private async recurseDeleteChildren(media) {\n if (!media.hasChildren) {\n return await this.delete(media.id);\n }\n const items = await this.getChildren(media.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(media.id);\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n return await response.json();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/children?parentId=' + id + '&skip=0&take=10000');\n const items = await response.json();\n return items.items;\n }\n\n async create(media) {\n if (media == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/media', media);\n return response.headers().location.split(\"/\").pop();\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async getByName(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n return await this.get(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, false);\n }\n }\n return null;\n }\n\n async getRecycleBinItems() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media/root?skip=0&take=10000');\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media');\n }\n\n async doesMediaItemExistInRecycleBin(mediaItemName: string) {\n const recycleBin = await this.getRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const media of jsonRecycleBin.items) {\n if (media.variants[0].name === mediaItemName) {\n return true;\n }\n }\n return false;\n }\n\n async trashMediaItem(mediaItemName: string) {\n const media = await this.getByName(mediaItemName);\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/media/' + media.id + '/move-to-recycle-bin');\n }\n\n async getMediaPathByName(name: string) {\n const media = await this.getByName(name);\n\n if (media && media.urls && media.urls.length > 0) {\n const mediaUrl = media.urls[0].url;\n // Gets the random mediaPath for the media\n const mediaPath = mediaUrl.split('/media/').pop()?.split('/')[0];\n // Gets the file name from the mediaUrl\n const fileName = mediaUrl.split('/').pop();\n\n return {\n mediaPath: mediaPath,\n fileName: fileName\n };\n }\n\n return null;\n }\n\n async createDefaultMediaFile(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFileAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolder(mediaFolderName: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n \n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .addVariant()\n .withName(mediaFolderName)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolderAndParentId(mediaName: string, parentId: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n \n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImage(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n \n return await this.create(media);\n }\n\n async createDefaultMediaWithArticle(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryArticleFile();\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImageAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.mediaTypeId)\n .done()\n .build();\n\n return await this.create(media);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"MediaApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {MediaBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MediaApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n if (media.hasChildren) {\n return await this.recurseDeleteChildren(media);\n }\n return await this.delete(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, true);\n }\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/root?skip=0&take=10000');\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.variants[0].name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n private async recurseDeleteChildren(media) {\n if (!media.hasChildren) {\n return await this.delete(media.id);\n }\n const items = await this.getChildren(media.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(media.id);\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n return await response.json();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/children?parentId=' + id + '&skip=0&take=10000');\n const items = await response.json();\n return items.items;\n }\n\n async create(media) {\n if (media == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/media', media);\n return response.headers().location.split(\"/\").pop();\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async getByName(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n return await this.get(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, false);\n }\n }\n return null;\n }\n\n async getRecycleBinItems() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media/root?skip=0&take=10000');\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media');\n }\n\n async doesMediaItemExistInRecycleBin(mediaItemName: string) {\n const recycleBin = await this.getRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const media of jsonRecycleBin.items) {\n if (media.variants[0].name === mediaItemName) {\n return true;\n }\n }\n return false;\n }\n\n async trashMediaItem(mediaItemName: string) {\n const media = await this.getByName(mediaItemName);\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/media/' + media.id + '/move-to-recycle-bin');\n }\n\n async getMediaPathByName(name: string) {\n const media = await this.getByName(name);\n\n if (media && media.urls && media.urls.length > 0) {\n const mediaUrl = media.urls[0].url;\n // Gets the random mediaPath for the media\n const mediaPath = mediaUrl.split('/media/').pop()?.split('/')[0];\n // Gets the file name from the mediaUrl\n const fileName = mediaUrl.split('/').pop();\n\n return {\n mediaPath: mediaPath,\n fileName: fileName\n };\n }\n\n return null;\n }\n\n async createDefaultMediaFile(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFileAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolder(mediaFolderName: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n \n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .addVariant()\n .withName(mediaFolderName)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolderAndParentId(mediaName: string, parentId: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n \n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImage(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n \n return await this.create(media);\n }\n\n async createDefaultMediaWithArticle(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryArticleFile();\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImageAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.mediaTypeId)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async getAllMediaNames(orderBy: string = 'updateDate', orderDirection: string = 'Descending') {\n let mediaNames: string[] = [];\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/collection/media?id=&dataTypeId=&orderBy=' + orderBy + '&orderDirection=' + orderDirection + '&skip=0&take=100');\n const mediaItems = await response.json();\n for (const media of mediaItems.items) {\n mediaNames.push(media.variants[0].name);\n }\n return mediaNames;\n }\n\n async doesMediaItemHaveChildName(mediaId: string, childName: string) {\n const childrenItems = await this.getChildren(mediaId);\n for (const child of childrenItems) {\n if (child.variants[0].name === childName) {\n return true;\n }\n }\n return false;\n }\n}"]}
|
|
@@ -15,6 +15,16 @@ export declare class MediaUiHelper extends UiBaseLocators {
|
|
|
15
15
|
private readonly recycleBinMenuItem;
|
|
16
16
|
private readonly recycleBinMenuItemCaretBtn;
|
|
17
17
|
private readonly mediaSectionCreateBtn;
|
|
18
|
+
private readonly viewBundleBtn;
|
|
19
|
+
private readonly gridBtn;
|
|
20
|
+
private readonly listBtn;
|
|
21
|
+
private readonly mediaListHeader;
|
|
22
|
+
private readonly mediaCardItemsValues;
|
|
23
|
+
private readonly mediaListView;
|
|
24
|
+
private readonly mediaGridView;
|
|
25
|
+
private readonly mediaListNameValues;
|
|
26
|
+
private readonly bulkTrashBtn;
|
|
27
|
+
private readonly bulkMoveToBtn;
|
|
18
28
|
constructor(page: Page);
|
|
19
29
|
clickCreateMediaItemButton(): Promise<void>;
|
|
20
30
|
enterMediaItemName(name: string): Promise<void>;
|
|
@@ -35,4 +45,16 @@ export declare class MediaUiHelper extends UiBaseLocators {
|
|
|
35
45
|
reloadRecycleBin(containsMediaItems?: boolean): Promise<void>;
|
|
36
46
|
clickRecycleBinButton(): Promise<void>;
|
|
37
47
|
isMediaItemVisibleInRecycleBin(mediaItem: string, isVisible?: boolean): Promise<void>;
|
|
48
|
+
changeToGridView(): Promise<void>;
|
|
49
|
+
changeToListView(): Promise<void>;
|
|
50
|
+
doesMediaGridValuesMatch(expectedValues: string[]): Promise<void>;
|
|
51
|
+
doesMediaListHeaderValuesMatch(expectedValues: string[]): Promise<void>;
|
|
52
|
+
doesMediaListNameValuesMatch(expectedValues: string[]): Promise<void>;
|
|
53
|
+
isViewBundleButtonVisible(isVisible?: boolean): Promise<void>;
|
|
54
|
+
isMediaGridViewVisible(isVisible?: boolean): Promise<void>;
|
|
55
|
+
isMediaListViewVisible(isVisible?: boolean): Promise<void>;
|
|
56
|
+
selectMediaByName(name: string): Promise<void>;
|
|
57
|
+
clickBulkTrashButton(): Promise<void>;
|
|
58
|
+
clickBulkMoveToButton(): Promise<void>;
|
|
59
|
+
clickModalTextByName(name: string): Promise<void>;
|
|
38
60
|
}
|
|
@@ -18,6 +18,16 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
18
18
|
recycleBinMenuItem;
|
|
19
19
|
recycleBinMenuItemCaretBtn;
|
|
20
20
|
mediaSectionCreateBtn;
|
|
21
|
+
viewBundleBtn;
|
|
22
|
+
gridBtn;
|
|
23
|
+
listBtn;
|
|
24
|
+
mediaListHeader;
|
|
25
|
+
mediaCardItemsValues;
|
|
26
|
+
mediaListView;
|
|
27
|
+
mediaGridView;
|
|
28
|
+
mediaListNameValues;
|
|
29
|
+
bulkTrashBtn;
|
|
30
|
+
bulkMoveToBtn;
|
|
21
31
|
constructor(page) {
|
|
22
32
|
super(page);
|
|
23
33
|
this.createMediaItemBtn = page.locator('umb-create-media-collection-action').getByLabel('Create');
|
|
@@ -34,6 +44,16 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
34
44
|
this.recycleBinMenuItem = page.locator('uui-menu-item[label="Recycle Bin"]');
|
|
35
45
|
this.recycleBinMenuItemCaretBtn = this.recycleBinMenuItem.locator('#caret-button');
|
|
36
46
|
this.mediaSectionCreateBtn = this.page.locator('#header').filter({ hasText: 'Media' }).getByLabel('#actions_create');
|
|
47
|
+
this.viewBundleBtn = this.page.locator('umb-collection-view-bundle');
|
|
48
|
+
this.gridBtn = this.page.getByLabel('Grid');
|
|
49
|
+
this.listBtn = this.page.getByLabel('List');
|
|
50
|
+
this.mediaListView = this.page.locator('umb-media-table-collection-view');
|
|
51
|
+
this.mediaGridView = this.page.locator('umb-media-grid-collection-view');
|
|
52
|
+
this.mediaListHeader = this.mediaListView.locator('uui-table-head-cell span');
|
|
53
|
+
this.mediaCardItemsValues = this.mediaCardItems.locator('span');
|
|
54
|
+
this.mediaListNameValues = this.mediaListView.locator('umb-media-table-column-name span');
|
|
55
|
+
this.bulkTrashBtn = page.locator('umb-entity-bulk-action uui-button').filter({ hasText: 'Trash' });
|
|
56
|
+
this.bulkMoveToBtn = page.locator('umb-entity-bulk-action uui-button').filter({ hasText: 'Move to' });
|
|
37
57
|
}
|
|
38
58
|
async clickCreateMediaItemButton() {
|
|
39
59
|
await this.createMediaItemBtn.click();
|
|
@@ -43,7 +63,7 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
43
63
|
await this.mediaNameTxt.fill(name);
|
|
44
64
|
}
|
|
45
65
|
async clickMediaTypeWithNameButton(mediaTypeName) {
|
|
46
|
-
await this.page.getByLabel(mediaTypeName, { exact: true }).click(
|
|
66
|
+
await this.page.getByLabel(mediaTypeName, { exact: true }).click();
|
|
47
67
|
}
|
|
48
68
|
async searchForMediaItemByName(name) {
|
|
49
69
|
await this.mediaSearchTxt.clear();
|
|
@@ -118,6 +138,50 @@ class MediaUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
118
138
|
await this.reloadRecycleBin(isVisible);
|
|
119
139
|
return (0, test_1.expect)(this.page.locator('[label="Recycle Bin"] [label="' + mediaItem + '"]')).toBeVisible({ visible: isVisible });
|
|
120
140
|
}
|
|
141
|
+
async changeToGridView() {
|
|
142
|
+
await this.viewBundleBtn.click();
|
|
143
|
+
await this.gridBtn.click();
|
|
144
|
+
}
|
|
145
|
+
async changeToListView() {
|
|
146
|
+
await this.viewBundleBtn.click();
|
|
147
|
+
await this.listBtn.click();
|
|
148
|
+
}
|
|
149
|
+
async doesMediaGridValuesMatch(expectedValues) {
|
|
150
|
+
return expectedValues.forEach((text, index) => {
|
|
151
|
+
(0, test_1.expect)(this.mediaCardItemsValues.nth(index)).toHaveText(text);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
async doesMediaListHeaderValuesMatch(expectedValues) {
|
|
155
|
+
return expectedValues.forEach((text, index) => {
|
|
156
|
+
(0, test_1.expect)(this.mediaListHeader.nth(index)).toHaveText(text);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
async doesMediaListNameValuesMatch(expectedValues) {
|
|
160
|
+
return expectedValues.forEach((text, index) => {
|
|
161
|
+
(0, test_1.expect)(this.mediaListNameValues.nth(index)).toHaveText(text);
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
async isViewBundleButtonVisible(isVisible = true) {
|
|
165
|
+
return (0, test_1.expect)(this.viewBundleBtn).toBeVisible({ visible: isVisible });
|
|
166
|
+
}
|
|
167
|
+
async isMediaGridViewVisible(isVisible = true) {
|
|
168
|
+
return (0, test_1.expect)(this.mediaGridView).toBeVisible({ visible: isVisible });
|
|
169
|
+
}
|
|
170
|
+
async isMediaListViewVisible(isVisible = true) {
|
|
171
|
+
return (0, test_1.expect)(this.mediaListView).toBeVisible({ visible: isVisible });
|
|
172
|
+
}
|
|
173
|
+
async selectMediaByName(name) {
|
|
174
|
+
await this.mediaCardItems.filter({ hasText: name }).click();
|
|
175
|
+
}
|
|
176
|
+
async clickBulkTrashButton() {
|
|
177
|
+
await this.bulkTrashBtn.click();
|
|
178
|
+
}
|
|
179
|
+
async clickBulkMoveToButton() {
|
|
180
|
+
await this.bulkMoveToBtn.click();
|
|
181
|
+
}
|
|
182
|
+
async clickModalTextByName(name) {
|
|
183
|
+
await this.sidebarModal.getByLabel(name, { exact: true }).click();
|
|
184
|
+
}
|
|
121
185
|
}
|
|
122
186
|
exports.MediaUiHelper = MediaUiHelper;
|
|
123
187
|
//# sourceMappingURL=MediaUiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
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 emptyRecycleBinThreeDotsBtn: Locator;\n private readonly confirmTrashBtn: Locator;\n private readonly recycleBinBtn: Locator;\n private readonly restoreBtn: Locator;\n private readonly confirmEmptyRecycleBinBtn: Locator;\n private readonly recycleBinMenuItem: Locator;\n private readonly recycleBinMenuItemCaretBtn: Locator;\n private readonly mediaSectionCreateBtn: 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', {exact: true});\n this.restoreThreeDotsBtn = page.getByRole('button', {name: 'Restore...'});\n this.emptyRecycleBinThreeDotsBtn = page.getByLabel('Empty Recycle Bin...', {exact: true});\n this.confirmTrashBtn = page.locator('#confirm').getByLabel('Trash');\n this.recycleBinBtn = page.getByLabel('Recycle Bin', {exact: true});\n this.restoreBtn = page.getByLabel('Restore', {exact: true});\n this.confirmEmptyRecycleBinBtn = page.getByLabel('Empty Recycle Bin', {exact: true});\n this.recycleBinMenuItem = page.locator('uui-menu-item[label=\"Recycle Bin\"]');\n this.recycleBinMenuItemCaretBtn = this.recycleBinMenuItem.locator('#caret-button');\n this.mediaSectionCreateBtn = this.page.locator('#header').filter({hasText: 'Media'}).getByLabel('#actions_create');\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({force: true});\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 clickConfirmTrashButton() {\n await this.confirmTrashBtn.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.emptyRecycleBinThreeDotsBtn.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 reloadRecycleBin(containsMediaItems = true) {\n // We need to wait to be sure that the item is visible after reload\n await this.page.waitForTimeout(500);\n await this.page.reload();\n\n await expect(this.recycleBinMenuItem).toBeVisible();\n\n await this.clickActionsMenuForName('Recycle Bin');\n await this.clickReloadButton();\n await expect(this.recycleBinMenuItem).toBeVisible();\n\n // If the Recycle Bin does not contain any media items, the caret button should not be visible. and we should not try to click it\n if (!containsMediaItems) {\n await expect(this.recycleBinMenuItemCaretBtn).not.toBeVisible();\n return;\n }\n\n await expect(this.recycleBinMenuItemCaretBtn).toBeVisible();\n const isCaretButtonOpen = await this.recycleBinMenuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n // We need to wait before clicking the caret button. Because the reload might not have happened yet. \n await this.clickCaretButtonForName('Recycle Bin');\n }\n }\n\n async clickRecycleBinButton() {\n await this.recycleBinBtn.click();\n }\n\n async isMediaItemVisibleInRecycleBin(mediaItem: string, isVisible: boolean = true) {\n await this.reloadRecycleBin(isVisible);\n return expect(this.page.locator('[label=\"Recycle Bin\"] [label=\"' + mediaItem + '\"]')).toBeVisible({visible: isVisible});\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 emptyRecycleBinThreeDotsBtn: Locator;\n private readonly confirmTrashBtn: Locator;\n private readonly recycleBinBtn: Locator;\n private readonly restoreBtn: Locator;\n private readonly confirmEmptyRecycleBinBtn: Locator;\n private readonly recycleBinMenuItem: Locator;\n private readonly recycleBinMenuItemCaretBtn: Locator;\n private readonly mediaSectionCreateBtn: Locator;\n private readonly viewBundleBtn: Locator;\n private readonly gridBtn: Locator;\n private readonly listBtn: 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\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', {exact: true});\n this.restoreThreeDotsBtn = page.getByRole('button', {name: 'Restore...'});\n this.emptyRecycleBinThreeDotsBtn = page.getByLabel('Empty Recycle Bin...', {exact: true});\n this.confirmTrashBtn = page.locator('#confirm').getByLabel('Trash');\n this.recycleBinBtn = page.getByLabel('Recycle Bin', {exact: true});\n this.restoreBtn = page.getByLabel('Restore', {exact: true});\n this.confirmEmptyRecycleBinBtn = page.getByLabel('Empty Recycle Bin', {exact: true});\n this.recycleBinMenuItem = page.locator('uui-menu-item[label=\"Recycle Bin\"]');\n this.recycleBinMenuItemCaretBtn = this.recycleBinMenuItem.locator('#caret-button');\n this.mediaSectionCreateBtn = this.page.locator('#header').filter({hasText: 'Media'}).getByLabel('#actions_create');\n this.viewBundleBtn = this.page.locator('umb-collection-view-bundle');\n this.gridBtn = this.page.getByLabel('Grid');\n this.listBtn = this.page.getByLabel('List');\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 }\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 clickConfirmTrashButton() {\n await this.confirmTrashBtn.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.emptyRecycleBinThreeDotsBtn.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 reloadRecycleBin(containsMediaItems = true) {\n // We need to wait to be sure that the item is visible after reload\n await this.page.waitForTimeout(500);\n await this.page.reload();\n\n await expect(this.recycleBinMenuItem).toBeVisible();\n\n await this.clickActionsMenuForName('Recycle Bin');\n await this.clickReloadButton();\n await expect(this.recycleBinMenuItem).toBeVisible();\n\n // If the Recycle Bin does not contain any media items, the caret button should not be visible. and we should not try to click it\n if (!containsMediaItems) {\n await expect(this.recycleBinMenuItemCaretBtn).not.toBeVisible();\n return;\n }\n\n await expect(this.recycleBinMenuItemCaretBtn).toBeVisible();\n const isCaretButtonOpen = await this.recycleBinMenuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n // We need to wait before clicking the caret button. Because the reload might not have happened yet. \n await this.clickCaretButtonForName('Recycle Bin');\n }\n }\n\n async clickRecycleBinButton() {\n await this.recycleBinBtn.click();\n }\n\n async isMediaItemVisibleInRecycleBin(mediaItem: string, isVisible: boolean = true) {\n await this.reloadRecycleBin(isVisible);\n return expect(this.page.locator('[label=\"Recycle Bin\"] [label=\"' + mediaItem + '\"]')).toBeVisible({visible: isVisible});\n }\n\n async changeToGridView() {\n await this.viewBundleBtn.click();\n await this.gridBtn.click();\n }\n\n async changeToListView() {\n await this.viewBundleBtn.click();\n await this.listBtn.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 isViewBundleButtonVisible(isVisible: boolean = true) {\n return expect(this.viewBundleBtn).toBeVisible({visible: isVisible});\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 selectMediaByName(name: string) {\n await this.mediaCardItems.filter({hasText: name}).click();\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}"]}
|
|
@@ -6,8 +6,10 @@ export declare class MemberGroupUiHelper extends UiBaseLocators {
|
|
|
6
6
|
private readonly actionsBtn;
|
|
7
7
|
private readonly memberGroupView;
|
|
8
8
|
private readonly activeMemberGroupsTab;
|
|
9
|
+
private readonly createMemberGroupBtn;
|
|
9
10
|
constructor(page: Page);
|
|
10
11
|
clickMemberGroupsTab(): Promise<void>;
|
|
12
|
+
clickMemberGroupCreateButton(): Promise<void>;
|
|
11
13
|
enterMemberGroupName(name: string): Promise<void>;
|
|
12
14
|
clickMemberGroupLinkByName(memberGroupName: string): Promise<void>;
|
|
13
15
|
clickActionsButton(): Promise<void>;
|
|
@@ -9,6 +9,7 @@ class MemberGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
9
9
|
actionsBtn;
|
|
10
10
|
memberGroupView;
|
|
11
11
|
activeMemberGroupsTab;
|
|
12
|
+
createMemberGroupBtn;
|
|
12
13
|
constructor(page) {
|
|
13
14
|
super(page);
|
|
14
15
|
this.memberGroupsTab = page.locator('uui-tab[label="Member Groups"]');
|
|
@@ -16,11 +17,18 @@ class MemberGroupUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
16
17
|
this.actionsBtn = page.getByLabel('Actions', { exact: true });
|
|
17
18
|
this.memberGroupView = page.locator('umb-member-group-table-collection-view');
|
|
18
19
|
this.activeMemberGroupsTab = page.locator('uui-tab[label="Member Groups"][active]');
|
|
20
|
+
this.createMemberGroupBtn = page.getByLabel('Create');
|
|
19
21
|
}
|
|
20
22
|
async clickMemberGroupsTab() {
|
|
21
|
-
await this.memberGroupsTab.
|
|
23
|
+
await (0, test_1.expect)(this.memberGroupsTab).toBeVisible();
|
|
24
|
+
await this.page.waitForTimeout(500);
|
|
25
|
+
await this.memberGroupsTab.click();
|
|
22
26
|
await (0, test_1.expect)(this.activeMemberGroupsTab).toBeVisible();
|
|
23
27
|
}
|
|
28
|
+
async clickMemberGroupCreateButton() {
|
|
29
|
+
await (0, test_1.expect)(this.createMemberGroupBtn).toBeVisible();
|
|
30
|
+
await this.createMemberGroupBtn.click();
|
|
31
|
+
}
|
|
24
32
|
async enterMemberGroupName(name) {
|
|
25
33
|
await (0, test_1.expect)(this.memberGroupNameTxt).toBeVisible();
|
|
26
34
|
await this.memberGroupNameTxt.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemberGroupUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberGroupUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,mBAAoB,SAAQ,+BAAc;IACpC,eAAe,CAAU;IACzB,kBAAkB,CAAU;IAC5B,UAAU,CAAU;IACpB,eAAe,CAAU;IACzB,qBAAqB,CAAU;
|
|
1
|
+
{"version":3,"file":"MemberGroupUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberGroupUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,mBAAoB,SAAQ,+BAAc;IACpC,eAAe,CAAU;IACzB,kBAAkB,CAAU;IAC5B,UAAU,CAAU;IACpB,eAAe,CAAU;IACzB,qBAAqB,CAAU;IAC/B,oBAAoB,CAAU;IAE/C,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QACtE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAC9E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QACpF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY;QACrC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,eAAuB;QACtD,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,eAAe,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,eAAuB,EAAE,YAAqB,IAAI;QAC/E,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IACzH,CAAC;CACF;AA/CD,kDA+CC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class MemberGroupUiHelper extends UiBaseLocators {\n private readonly memberGroupsTab: Locator;\n private readonly memberGroupNameTxt: Locator;\n private readonly actionsBtn: Locator;\n private readonly memberGroupView: Locator;\n private readonly activeMemberGroupsTab: Locator;\n private readonly createMemberGroupBtn: Locator;\n\n constructor(page: Page) {\n super(page);\n this.memberGroupsTab = page.locator('uui-tab[label=\"Member Groups\"]');\n this.memberGroupNameTxt = page.locator('input#input');\n this.actionsBtn = page.getByLabel('Actions', {exact: true});\n this.memberGroupView = page.locator('umb-member-group-table-collection-view');\n this.activeMemberGroupsTab = page.locator('uui-tab[label=\"Member Groups\"][active]');\n this.createMemberGroupBtn = page.getByLabel('Create');\n }\n\n async clickMemberGroupsTab() {\n await expect(this.memberGroupsTab).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.memberGroupsTab.click();\n await expect(this.activeMemberGroupsTab).toBeVisible();\n }\n\n async clickMemberGroupCreateButton() {\n await expect(this.createMemberGroupBtn).toBeVisible();\n await this.createMemberGroupBtn.click();\n }\n\n async enterMemberGroupName(name: string) {\n await expect(this.memberGroupNameTxt).toBeVisible();\n await this.memberGroupNameTxt.clear();\n await this.memberGroupNameTxt.fill(name);\n }\n\n async clickMemberGroupLinkByName(memberGroupName: string) {\n await this.page.getByRole('link', {name: memberGroupName}).click();\n }\n\n async clickActionsButton() {\n await this.actionsBtn.click();\n }\n\n async isMemberGroupNameVisible(memberGroupName: string, isVisible: boolean = true) {\n return expect(this.memberGroupView.filter({hasText: memberGroupName})).toBeVisible({visible: isVisible, timeout: 500});\n }\n}\n"]}
|
|
@@ -55,10 +55,10 @@ class PackageUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
55
55
|
return await (0, test_1.expect)(this.noPackagesHaveBeenInstalledTxt).toBeVisible({ visible: isVisible });
|
|
56
56
|
}
|
|
57
57
|
async clickCreatedTab() {
|
|
58
|
-
await this.createdTabBtn.click(
|
|
58
|
+
await this.createdTabBtn.click();
|
|
59
59
|
}
|
|
60
60
|
async clickInstalledTab() {
|
|
61
|
-
await this.installedTabBtn.click(
|
|
61
|
+
await this.installedTabBtn.click();
|
|
62
62
|
}
|
|
63
63
|
async clickPackagesTab() {
|
|
64
64
|
await this.packagesTabBtn.click({ force: true });
|
|
@@ -83,48 +83,48 @@ class PackageUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
83
83
|
await this.page.getByRole('button', { name: packageName }).click();
|
|
84
84
|
}
|
|
85
85
|
async clickDeleteButtonForPackageName(packageName) {
|
|
86
|
-
await this.page.locator('uui-ref-node-package', { hasText: packageName }).getByLabel('Delete package').click(
|
|
86
|
+
await this.page.locator('uui-ref-node-package', { hasText: packageName }).getByLabel('Delete package').click();
|
|
87
87
|
}
|
|
88
88
|
async clickSaveChangesToPackageButton() {
|
|
89
89
|
await this.saveChangesToPackageBtn.click();
|
|
90
90
|
}
|
|
91
91
|
async clickAddContentToPackageButton() {
|
|
92
|
-
await this.addContentToPackageBtn.click(
|
|
92
|
+
await this.addContentToPackageBtn.click();
|
|
93
93
|
}
|
|
94
94
|
async clickAddMediaToPackageButton() {
|
|
95
|
-
await this.addMediaToPackageBtn.click(
|
|
95
|
+
await this.addMediaToPackageBtn.click();
|
|
96
96
|
}
|
|
97
97
|
async clickAddDocumentTypeToPackageButton() {
|
|
98
|
-
await this.addDocumentTypeToPackageBtn.click(
|
|
98
|
+
await this.addDocumentTypeToPackageBtn.click();
|
|
99
99
|
}
|
|
100
100
|
async clickAddMediaTypeToPackageButton() {
|
|
101
|
-
await this.addMediaTypeToPackageBtn.click(
|
|
101
|
+
await this.addMediaTypeToPackageBtn.click();
|
|
102
102
|
}
|
|
103
103
|
async clickAddLanguageToPackageButton() {
|
|
104
|
-
await this.addLanguageToPackageBtn.click(
|
|
104
|
+
await this.addLanguageToPackageBtn.click();
|
|
105
105
|
}
|
|
106
106
|
async clickAddDictionaryToPackageButton() {
|
|
107
|
-
await this.addDictionaryToPackageBtn.click(
|
|
107
|
+
await this.addDictionaryToPackageBtn.click();
|
|
108
108
|
}
|
|
109
109
|
async clickAddDataTypesToPackageButton() {
|
|
110
|
-
await this.addDataTypesToPackageBtn.click(
|
|
110
|
+
await this.addDataTypesToPackageBtn.click();
|
|
111
111
|
}
|
|
112
112
|
async clickAddTemplatesToPackageButton() {
|
|
113
|
-
await this.addTemplatesToPackagesBtn.click(
|
|
113
|
+
await this.addTemplatesToPackagesBtn.click();
|
|
114
114
|
}
|
|
115
115
|
async clickAddPartialViewToPackageButton() {
|
|
116
|
-
await this.addPartialViewToPackageBtn.click(
|
|
116
|
+
await this.addPartialViewToPackageBtn.click();
|
|
117
117
|
}
|
|
118
118
|
async clickAddScriptToPackageButton() {
|
|
119
|
-
await this.addScriptToPackageBtn.click(
|
|
119
|
+
await this.addScriptToPackageBtn.click();
|
|
120
120
|
}
|
|
121
121
|
async clickAddStylesheetToPackageButton() {
|
|
122
|
-
await this.addStylesheetToPackageBtn.click(
|
|
122
|
+
await this.addStylesheetToPackageBtn.click();
|
|
123
123
|
}
|
|
124
124
|
// Downloads the package and converts it to a string
|
|
125
125
|
async downloadPackage(packageId) {
|
|
126
126
|
const responsePromise = this.page.waitForResponse(umbraco_config_1.umbracoConfig.environment.baseUrl + '/umbraco/management/api/v1/package/created/' + packageId + '/download');
|
|
127
|
-
await this.downloadPackageBtn.click(
|
|
127
|
+
await this.downloadPackageBtn.click();
|
|
128
128
|
const response = await responsePromise;
|
|
129
129
|
const body = await response.body();
|
|
130
130
|
return body.toString().trim();
|
|
@@ -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 noPackagesHaveBeenInstalledTxt: 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\n constructor(page: Page) {\n super(page);\n // Packages\n this.packagesTabBtn = page.locator('#views').getByRole(\"tab\", {name: 'Packages'});\n this.marketPlaceIFrame = page.frameLocator('iframe[title=\"Umbraco Marketplace\"]').locator('umb-market-app');\n // Installed\n this.installedTabBtn = page.getByRole(\"tab\", {name: 'Installed'});\n this.noPackagesHaveBeenInstalledTxt = page.getByText('No packages have been installed');\n // Created\n this.createdTabBtn = page.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.getByLabel('Add');\n this.addMediaToPackageBtn = page.locator('umb-input-media').getByLabel('open');\n this.addDocumentTypeToPackageBtn = page.locator('umb-input-document-types-picker').getByLabel('open');\n this.addMediaTypeToPackageBtn = page.locator('umb-input-media-types-picker').getByLabel('open');\n this.addLanguageToPackageBtn = page.locator('umb-input-language-picker').getByLabel('open');\n this.addDictionaryToPackageBtn = page.locator('umb-input-dictionary-picker').getByLabel('open');\n this.addDataTypesToPackageBtn = page.locator('umb-data-type-picker').getByLabel('open');\n this.addTemplatesToPackagesBtn = page.locator('umb-template-picker').getByLabel('open');\n this.addPartialViewToPackageBtn = page.locator('umb-partial-views-picker').getByLabel('open');\n this.addScriptToPackageBtn = page.locator('umb-script-picker').getByLabel('open');\n this.addStylesheetToPackageBtn = page.locator('umb-stylesheet-picker').getByLabel('open');\n this.downloadPackageBtn = page.getByLabel('Download package');\n }\n\n async isTextNoPackagesHaveBeenInstalledVisible(isVisible = true) {\n return await expect(this.noPackagesHaveBeenInstalledTxt).toBeVisible({visible: isVisible});\n }\n\n async clickCreatedTab() {\n await this.createdTabBtn.click({force: true});\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 }\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 }\n\n async clickDeleteButtonForPackageName(packageName: string) {\n await this.page.locator('uui-ref-node-package', {hasText: packageName}).getByLabel('Delete package').click({force: true});\n }\n\n async clickSaveChangesToPackageButton() {\n await this.saveChangesToPackageBtn.click();\n }\n\n async clickAddContentToPackageButton() {\n await this.addContentToPackageBtn.click({force: true});\n }\n\n async clickAddMediaToPackageButton() {\n await this.addMediaToPackageBtn.click({force: true});\n }\n\n async clickAddDocumentTypeToPackageButton() {\n await this.addDocumentTypeToPackageBtn.click({force: true});\n }\n\n async clickAddMediaTypeToPackageButton() {\n await this.addMediaTypeToPackageBtn.click({force: true});\n }\n\n async clickAddLanguageToPackageButton() {\n await this.addLanguageToPackageBtn.click({force: true});\n }\n\n async clickAddDictionaryToPackageButton() {\n await this.addDictionaryToPackageBtn.click({force: true});\n }\n\n async clickAddDataTypesToPackageButton() {\n await this.addDataTypesToPackageBtn.click({force: true});\n }\n\n async clickAddTemplatesToPackageButton() {\n await this.addTemplatesToPackagesBtn.click({force: true});\n }\n\n async clickAddPartialViewToPackageButton() {\n await this.addPartialViewToPackageBtn.click({force: true});\n }\n\n async clickAddScriptToPackageButton() {\n await this.addScriptToPackageBtn.click({force: true});\n }\n\n async clickAddStylesheetToPackageButton() {\n await this.addStylesheetToPackageBtn.click({force: true});\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({force: true});\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 noPackagesHaveBeenInstalledTxt: 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\n constructor(page: Page) {\n super(page);\n // Packages\n this.packagesTabBtn = page.locator('#views').getByRole(\"tab\", {name: 'Packages'});\n this.marketPlaceIFrame = page.frameLocator('iframe[title=\"Umbraco Marketplace\"]').locator('umb-market-app');\n // Installed\n this.installedTabBtn = page.getByRole(\"tab\", {name: 'Installed'});\n this.noPackagesHaveBeenInstalledTxt = page.getByText('No packages have been installed');\n // Created\n this.createdTabBtn = page.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.getByLabel('Add');\n this.addMediaToPackageBtn = page.locator('umb-input-media').getByLabel('open');\n this.addDocumentTypeToPackageBtn = page.locator('umb-input-document-types-picker').getByLabel('open');\n this.addMediaTypeToPackageBtn = page.locator('umb-input-media-types-picker').getByLabel('open');\n this.addLanguageToPackageBtn = page.locator('umb-input-language-picker').getByLabel('open');\n this.addDictionaryToPackageBtn = page.locator('umb-input-dictionary-picker').getByLabel('open');\n this.addDataTypesToPackageBtn = page.locator('umb-data-type-picker').getByLabel('open');\n this.addTemplatesToPackagesBtn = page.locator('umb-template-picker').getByLabel('open');\n this.addPartialViewToPackageBtn = page.locator('umb-partial-views-picker').getByLabel('open');\n this.addScriptToPackageBtn = page.locator('umb-script-picker').getByLabel('open');\n this.addStylesheetToPackageBtn = page.locator('umb-stylesheet-picker').getByLabel('open');\n this.downloadPackageBtn = page.getByLabel('Download package');\n }\n\n async isTextNoPackagesHaveBeenInstalledVisible(isVisible = true) {\n return await expect(this.noPackagesHaveBeenInstalledTxt).toBeVisible({visible: isVisible});\n }\n\n async clickCreatedTab() {\n await this.createdTabBtn.click();\n }\n\n async clickInstalledTab() {\n await this.installedTabBtn.click();\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 }\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 }\n\n async clickDeleteButtonForPackageName(packageName: string) {\n await this.page.locator('uui-ref-node-package', {hasText: packageName}).getByLabel('Delete package').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 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}"]}
|
|
@@ -5,6 +5,7 @@ export declare class PartialViewUiHelper extends UiBaseLocators {
|
|
|
5
5
|
private readonly newPartialViewFromSnippetBtn;
|
|
6
6
|
private readonly partialViewNameTxt;
|
|
7
7
|
private readonly partialViewTree;
|
|
8
|
+
private readonly partialViewUiLoader;
|
|
8
9
|
constructor(page: Page);
|
|
9
10
|
clickActionsMenuForPartialView(name: string): Promise<void>;
|
|
10
11
|
clickActionsMenuAtRoot(): Promise<void>;
|
|
@@ -15,5 +16,6 @@ export declare class PartialViewUiHelper extends UiBaseLocators {
|
|
|
15
16
|
enterPartialViewContent(partialViewContent: string): Promise<void>;
|
|
16
17
|
openPartialViewAtRoot(partialViewName: string): Promise<void>;
|
|
17
18
|
reloadPartialViewTree(): Promise<void>;
|
|
18
|
-
|
|
19
|
+
waitUntilPartialViewLoaderIsNoLongerVisible(): Promise<void>;
|
|
20
|
+
isPartialViewRootTreeItemVisible(partialView: string, isVisible?: boolean, toReload?: boolean): Promise<void>;
|
|
19
21
|
}
|
|
@@ -8,12 +8,14 @@ class PartialViewUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
8
8
|
newPartialViewFromSnippetBtn;
|
|
9
9
|
partialViewNameTxt;
|
|
10
10
|
partialViewTree;
|
|
11
|
+
partialViewUiLoader;
|
|
11
12
|
constructor(page) {
|
|
12
13
|
super(page);
|
|
13
14
|
this.newEmptyPartialViewBtn = page.getByLabel('New empty partial view');
|
|
14
15
|
this.newPartialViewFromSnippetBtn = page.getByLabel('New partial view from snippet...');
|
|
15
16
|
this.partialViewNameTxt = page.getByLabel('Enter a name...');
|
|
16
17
|
this.partialViewTree = page.locator('umb-tree[alias="Umb.Tree.PartialView"]');
|
|
18
|
+
this.partialViewUiLoader = page.locator('uui-loader');
|
|
17
19
|
}
|
|
18
20
|
async clickActionsMenuForPartialView(name) {
|
|
19
21
|
await this.clickActionsMenuForName(name);
|
|
@@ -37,6 +39,7 @@ class PartialViewUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
37
39
|
await this.partialViewNameTxt.fill(partialViewName);
|
|
38
40
|
}
|
|
39
41
|
async enterPartialViewContent(partialViewContent) {
|
|
42
|
+
await this.waitUntilPartialViewLoaderIsNoLongerVisible();
|
|
40
43
|
await this.textAreaInputArea.clear();
|
|
41
44
|
await this.textAreaInputArea.fill(partialViewContent);
|
|
42
45
|
}
|
|
@@ -48,7 +51,10 @@ class PartialViewUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
48
51
|
async reloadPartialViewTree() {
|
|
49
52
|
await this.reloadTree('Partial Views');
|
|
50
53
|
}
|
|
51
|
-
async
|
|
54
|
+
async waitUntilPartialViewLoaderIsNoLongerVisible() {
|
|
55
|
+
await (0, test_1.expect)(this.partialViewUiLoader).toBeVisible({ visible: false });
|
|
56
|
+
}
|
|
57
|
+
async isPartialViewRootTreeItemVisible(partialView, isVisible = true, toReload = true) {
|
|
52
58
|
if (toReload) {
|
|
53
59
|
await this.reloadPartialViewTree();
|
|
54
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PartialViewUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PartialViewUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,qDAAgD;AAEhD,MAAa,mBAAoB,SAAQ,+BAAc;IACpC,sBAAsB,CAAU;IAChC,4BAA4B,CAAU;IACtC,kBAAkB,CAAU;IAC5B,eAAe,CAAU;
|
|
1
|
+
{"version":3,"file":"PartialViewUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PartialViewUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class PartialViewUiHelper extends UiBaseLocators {\n private readonly newEmptyPartialViewBtn: Locator;\n private readonly newPartialViewFromSnippetBtn: Locator;\n private readonly partialViewNameTxt: Locator;\n private readonly partialViewTree: Locator;\n private readonly partialViewUiLoader: Locator;\n\n constructor(page: Page) {\n super(page);\n this.newEmptyPartialViewBtn = page.getByLabel('New empty partial view');\n this.newPartialViewFromSnippetBtn = page.getByLabel('New partial view from snippet...');\n this.partialViewNameTxt = page.getByLabel('Enter a name...');\n this.partialViewTree = page.locator('umb-tree[alias=\"Umb.Tree.PartialView\"]');\n this.partialViewUiLoader = page.locator('uui-loader');\n }\n\n async clickActionsMenuForPartialView(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForPartialView('Partial Views');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Partial Views');\n }\n\n async clickNewEmptyPartialViewButton() {\n await this.newEmptyPartialViewBtn.click();\n }\n\n async clickNewPartialViewFromSnippetButton() {\n await this.newPartialViewFromSnippetBtn.click();\n }\n\n async enterPartialViewName(partialViewName: string) {\n await expect(this.partialViewNameTxt).toBeVisible();\n await this.partialViewNameTxt.click();\n await this.partialViewNameTxt.clear();\n await this.partialViewNameTxt.fill(partialViewName);\n }\n\n async enterPartialViewContent(partialViewContent: string) {\n await this.waitUntilPartialViewLoaderIsNoLongerVisible();\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(partialViewContent);\n }\n\n async openPartialViewAtRoot(partialViewName: string) {\n await this.reloadPartialViewTree();\n await this.page.getByLabel(partialViewName).click();\n await expect(this.partialViewNameTxt).toBeVisible();\n }\n\n async reloadPartialViewTree() {\n await this.reloadTree('Partial Views');\n }\n\n async waitUntilPartialViewLoaderIsNoLongerVisible() {\n await expect(this.partialViewUiLoader).toBeVisible({visible: false});\n }\n\n async isPartialViewRootTreeItemVisible(partialView: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadPartialViewTree();\n }\n return expect(this.partialViewTree.getByText(partialView, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
|
|
@@ -30,7 +30,7 @@ class ScriptUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
30
30
|
async goToScript(scriptName) {
|
|
31
31
|
await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
|
|
32
32
|
await this.reloadScriptTree();
|
|
33
|
-
await this.page.getByLabel(scriptName).click(
|
|
33
|
+
await this.page.getByLabel(scriptName).click();
|
|
34
34
|
}
|
|
35
35
|
async enterScriptName(scriptContent) {
|
|
36
36
|
await (0, test_1.expect)(this.scriptNameTxt).toBeVisible();
|
|
@@ -43,7 +43,7 @@ class ScriptUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
43
43
|
}
|
|
44
44
|
async openScriptAtRoot(scriptName) {
|
|
45
45
|
await this.reloadScriptTree();
|
|
46
|
-
await this.page.getByLabel(scriptName, { exact: true }).click(
|
|
46
|
+
await this.page.getByLabel(scriptName, { exact: true }).click();
|
|
47
47
|
}
|
|
48
48
|
async reloadScriptTree() {
|
|
49
49
|
await this.reloadTree('Scripts');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ScriptUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,qDAAgD;AAChD,qDAAgD;AAEhD,MAAa,cAAe,SAAQ,+BAAc;IAC/B,aAAa,CAAU;IACvB,oBAAoB,CAAU;IAC9B,UAAU,CAAU;IAErC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY;QAC1C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"ScriptUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ScriptUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,qDAAgD;AAChD,qDAAgD;AAEhD,MAAa,cAAe,SAAQ,+BAAc;IAC/B,aAAa,CAAU;IACvB,oBAAoB,CAAU;IAC9B,UAAU,CAAU;IAErC,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY;QAC1C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB;QACzC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAC5C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,UAAkB,EAAE,YAAqB,IAAI,EAAE,WAAoB,IAAI;QACvG,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC/B;QACD,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACxG,CAAC;CACF;AA7DD,wCA6DC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class ScriptUiHelper extends UiBaseLocators{\n private readonly scriptNameTxt: Locator;\n private readonly newJavascriptFileBtn: Locator;\n private readonly scriptTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.scriptNameTxt = page.getByLabel('Enter a name...');\n this.newJavascriptFileBtn = page.getByLabel('New Javascript file');\n this.scriptTree = page.locator('umb-tree[alias=\"Umb.Tree.Script\"]');\n }\n\n async clickActionsMenuForScript(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForScript('Scripts');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Scripts');\n }\n\n async clickNewJavascriptFileButton() {\n await this.newJavascriptFileBtn.click();\n }\n \n // Will only work for root scripts\n async goToScript(scriptName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadScriptTree();\n await this.page.getByLabel(scriptName).click();\n }\n\n async enterScriptName(scriptContent: string) {\n await expect(this.scriptNameTxt).toBeVisible();\n await this.scriptNameTxt.fill(scriptContent);\n }\n\n async enterScriptContent(scriptContent: string) {\n await expect(this.textAreaInputArea).toBeVisible();\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(scriptContent);\n }\n\n async openScriptAtRoot(scriptName: string) {\n await this.reloadScriptTree();\n await this.page.getByLabel(scriptName, {exact: true}).click();\n }\n\n async reloadScriptTree() {\n await this.reloadTree('Scripts');\n }\n\n async isScriptRootTreeItemVisible(scriptName: string, isVisible: boolean = true, toReload: boolean = true){\n if (toReload) {\n await this.reloadScriptTree();\n }\n return expect(this.scriptTree.getByText(scriptName, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
|
|
@@ -85,7 +85,7 @@ class StylesheetUiHelper extends UiBaseLocators_1.UiBaseLocators {
|
|
|
85
85
|
async goToStylesheet(stylesheetName) {
|
|
86
86
|
await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
|
|
87
87
|
await this.reloadStylesheetTree();
|
|
88
|
-
await this.page.getByLabel(stylesheetName).click(
|
|
88
|
+
await this.page.getByLabel(stylesheetName).click();
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
exports.StylesheetUiHelper = StylesheetUiHelper;
|