@umbraco/playwright-testhelpers 2.0.0-beta.21 → 2.0.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/helpers/ApiHelpers.d.ts +2 -2
- package/dist/lib/helpers/ApiHelpers.js +1 -1
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.d.ts +1 -1
- package/dist/lib/helpers/DataTypeApiHelper.js +13 -10
- package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DataTypeUiHelper.d.ts +48 -10
- package/dist/lib/helpers/DataTypeUiHelper.js +172 -48
- package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.js +1 -1
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +11 -2
- package/dist/lib/helpers/DocumentTypeApiHelper.js +118 -8
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +23 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js +62 -0
- package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/LanguageApiHelper.d.ts +3 -1
- package/dist/lib/helpers/LanguageApiHelper.js +16 -3
- package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeApiHelper.d.ts +8 -2
- package/dist/lib/helpers/MediaTypeApiHelper.js +91 -10
- package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/MediaTypeUiHelper.d.ts +15 -0
- package/dist/lib/helpers/MediaTypeUiHelper.js +39 -0
- package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
- package/dist/lib/helpers/PackageUiHelper.d.ts +0 -1
- package/dist/lib/helpers/PackageUiHelper.js +0 -2
- package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemporaryFileApiHelper.js +4 -4
- package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +84 -1
- package/dist/lib/helpers/UiBaseLocators.js +244 -4
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +6 -0
- package/dist/lib/helpers/UiHelpers.js +9 -0
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/lib/helpers/UserApiHelper.d.ts +6 -2
- package/dist/lib/helpers/UserApiHelper.js +34 -12
- package/dist/lib/helpers/UserApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +2 -1
- package/dist/lib/helpers/UserGroupApiHelper.js +9 -11
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/lib/helpers/UserUiHelper.d.ts +41 -0
- package/dist/lib/helpers/UserUiHelper.js +116 -0
- package/dist/lib/helpers/UserUiHelper.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiBaseLocators.js","sourceRoot":"","sources":["../../../lib/helpers/UiBaseLocators.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UiBaseLocators {\n public readonly page: Page;\n public readonly saveBtn: Locator;\n public readonly chooseBtn: Locator;\n public readonly submitBtn: Locator;\n public readonly createFolderBtn: Locator;\n public readonly breadcrumbBtn: Locator;\n public readonly deleteBtn: Locator;\n public readonly confirmToDeleteBtn: Locator;\n public readonly deleteFolderBtn: Locator;\n public readonly deleteExactLabelBtn: Locator;\n public readonly confirmCreateFolderBtn: Locator;\n public readonly dictionaryInsertItemBtn: Locator;\n public readonly caretDictionaryBtn: Locator;\n public readonly insertValueBtn: Locator;\n public readonly modalCaretBtn: Locator;\n public readonly queryBuilderBtn: Locator;\n public readonly queryBuilderOrderedBy: Locator;\n public readonly queryBuilderCreateDate: Locator;\n public readonly folderNameTxt: Locator;\n public readonly textAreaInputArea: Locator;\n public readonly wherePropertyAliasBtn: Locator;\n public readonly whereOperatorBtn: Locator;\n public readonly whereConstrainValueTxt: Locator;\n public readonly orderByPropertyAliasBtn: Locator;\n public readonly ascendingBtn: Locator;\n public readonly queryBuilderShowCode: Locator;\n public readonly createThreeDotsBtn: Locator;\n public readonly newFolderThreeDotsBtn: Locator;\n public readonly renameThreeDotsBtn: Locator;\n public readonly newNameTxt: Locator;\n public readonly renameModalBtn: Locator;\n public readonly createBtn: Locator;\n public readonly successState: Locator;\n\n constructor(page: Page) {\n this.page = page;\n this.saveBtn = page.getByLabel('Save', { exact: true });\n this.submitBtn = page.getByLabel('Submit');\n this.deleteExactLabelBtn = page.getByLabel('Delete', {exact: true});\n this.deleteFolderBtn = page.getByLabel('Delete');\n this.deleteBtn = page.getByRole('button', {name: 'Delete'});\n this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');\n this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');\n this.breadcrumbBtn = page.getByLabel('Breadcrumb');\n this.createFolderBtn = page.getByLabel('Create folder');\n this.dictionaryInsertItemBtn = page.getByRole('button', { name: 'Dictionary item' });\n this.caretDictionaryBtn = page.locator('umb-tree-picker-modal').locator('#caret-button');\n this.insertValueBtn = page.locator('uui-button').filter({ hasText: 'Insert' });\n this.modalCaretBtn = page.locator('umb-tree-picker-modal').locator('#caret-button');\n this.queryBuilderBtn = page.locator('#query-builder-button').getByLabel('Query builder');\n this.queryBuilderOrderedBy = page.locator('#property-alias-dropdown').getByLabel('Property alias');\n this.queryBuilderCreateDate = page.locator('#property-alias-dropdown').getByText('CreateDate').locator(\"..\");\n this.folderNameTxt = page.getByRole('textbox', {name: 'Enter folder name...'});\n this.textAreaInputArea = page.locator('textarea.inputarea');\n this.wherePropertyAliasBtn = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('Property alias');\n this.whereOperatorBtn = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('Choose operator');\n this.whereConstrainValueTxt = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('constrain value');\n this.orderByPropertyAliasBtn = page.locator('#sort-dropdown').getByLabel('Property alias');\n this.ascendingBtn = page.locator('uui-button').filter({hasText: 'ascending'}).locator('#button');\n this.queryBuilderShowCode = page.locator('umb-code-block');\n this.createThreeDotsBtn = page.getByLabel('Create...', {exact: true});\n this.chooseBtn = page.getByLabel('Choose', {exact: true});\n this.newFolderThreeDotsBtn = page.getByLabel('New Folder...');\n this.renameThreeDotsBtn = page.getByLabel('Rename...', {exact: true});\n this.newNameTxt = page.getByRole('textbox', {name: 'Enter new name...'});\n this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');\n this.createBtn = page.getByLabel('Create', {exact: true});\n this.successState = page.locator('[state=\"success\"]');\n }\n\n async clickActionsMenuForName(name: string) {\n await this.page.locator('[label=\"' + name + '\"] >> [label=\"Open actions menu\"]').click({force: true});\n }\n\n async clickCaretButtonForName(name: string) {\n await this.page.locator('div').filter({hasText: name}).locator('#caret-button').click();\n }\n\n async clickCaretButton() {\n await this.page.locator('#caret-button').click();\n }\n\n async clickSaveButton() {\n await this.saveBtn.click();\n }\n\n async clickChooseButton() {\n await this.chooseBtn.click();\n }\n\n async clickSubmitButton() {\n await this.submitBtn.click({force: true});\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async clickBreadcrumbButton() {\n await this.breadcrumbBtn.click();\n }\n\n async clickInsertButton() {\n await this.insertValueBtn.click();\n }\n\n async clickDictionaryInsertItemButton() {\n await this.dictionaryInsertItemBtn.click({force: true});\n }\n\n async clickCaretDictionaryButton() {\n await this.caretDictionaryBtn.click();\n }\n\n async clickDeleteButton() {\n await this.deleteBtn.click();\n }\n\n async clickConfirmToDeleteButton() {\n await this.confirmToDeleteBtn.click();\n }\n\n async clickDeleteFolderButton() {\n await this.deleteFolderBtn.click();\n }\n\n async clickConfirmCreateFolderButton() {\n await this.confirmCreateFolderBtn.click();\n }\n\n async insertDictionaryByName(dictionaryName: string) {\n await this.insertValueBtn.click();\n await this.clickDictionaryInsertItemButton();\n // This wait is necessary. I tried using waitFor, with timeout. But it did not work.\n await this.page.waitForTimeout(1000);\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await this.queryBuilderBtn.click({force: true});\n // Wait and click to orderBy dropdownbox\n await this.orderByPropertyAliasBtn.waitFor({state: 'visible'})\n await this.orderByPropertyAliasBtn.click({force: true});\n // Wait and choose property alias option \n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Click to acending button if isAcsending is false\n if (!isAscending) {\n await this.ascendingBtn.click({force: true});\n }\n }\n\n async addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string) {\n await this.queryBuilderBtn.waitFor({state: 'visible'});\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await this.wherePropertyAliasBtn.waitFor({state: 'visible'});\n await this.wherePropertyAliasBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await this.whereOperatorBtn.waitFor({state: 'visible'})\n await this.whereOperatorBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await this.whereConstrainValueTxt.waitFor({state: 'visible'});\n await this.whereConstrainValueTxt.clear();\n await this.whereConstrainValueTxt.fill(constrainValue);\n await this.whereConstrainValueTxt.press('Enter');\n }\n\n async waitAndSelectQueryBuilderDropDownList(option: string) {\n const ddlOption = this.page.locator('[open]').locator('uui-combobox-list-option').filter({hasText: option}).first();\n await ddlOption.waitFor({state: 'visible'});\n await ddlOption.click({force: true});\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateThreeDotsButton();\n await this.clickNewFolderThreeDotsButton();\n await this.folderNameTxt.waitFor({state: 'visible'});\n await this.folderNameTxt.fill(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async isQueryBuilderCodeShown(code: string) {\n await this.queryBuilderShowCode.click();\n await expect(this.queryBuilderShowCode).toContainText(code);\n }\n\n async deleteFolder() {\n await this.clickDeleteFolderButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickDeleteExactLabel() {\n await this.deleteExactLabelBtn.click();\n }\n\n async isTreeItemVisible(name: string) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"] ')).toBeVisible();\n }\n\n async goToSection(sectionName: string) {\n for (let section in ConstantHelper.sections) {\n await expect(this.page.getByRole('tab', {name: section})).toBeVisible({timeout: 30000});\n }\n await this.page.getByRole('tab', {name: sectionName}).click();\n }\n\n async goToSettingsTreeItem(settingsTreeItemName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.page.getByLabel(settingsTreeItemName).click();\n }\n\n async clickDataElement(elementName: string, options: any = null) {\n await this.page.click(`[data-element=\"${elementName}\"]`, options);\n }\n\n async getDataElement(elementName: string) {\n return this.page.locator(`[data-element=\"${elementName}\"]`);\n }\n\n async isButtonWithNameVisible(name: string) {\n await expect(this.page.getByRole('button', {name: name})).toBeVisible();\n }\n\n async clickLabelWithName(name: string) {\n await this.page.getByLabel(name).click();\n }\n \n async clickButtonWithName(name: string) {\n await this.page.getByRole('button', {name: name}).click();\n }\n \n async isSuccessNotificationVisible() {\n return await expect(this.page.locator('uui-toast-notification >> [color=\"positive\"]')).toBeVisible();\n }\n\n async isErrorNotificationVisible() {\n return await expect(this.page.locator('uui-toast-notification >> [color=\"danger\"]')).toBeVisible();\n }\n\n async clickCreateThreeDotsButton() {\n await this.createThreeDotsBtn.click();\n }\n\n async clickCreateButton() {\n await this.createBtn.click();\n }\n\n async clickNewFolderThreeDotsButton() {\n await this.newFolderThreeDotsBtn.click();\n }\n\n async rename(newName: string) {\n await this.renameThreeDotsBtn.click();\n await this.newNameTxt.click();\n await this.newNameTxt.clear();\n await this.newNameTxt.fill(newName);\n await this.renameModalBtn.click({force: true});\n }\n\n async isSuccessButtonWithTextVisible(text: string) {\n return await expect(this.successState.filter({hasText: text})).toBeVisible({timeout: 10000});\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"UiBaseLocators.js","sourceRoot":"","sources":["../../../lib/helpers/UiBaseLocators.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UiBaseLocators {\n public readonly page: Page;\n public readonly saveBtn: Locator;\n public readonly chooseBtn: Locator;\n public readonly submitBtn: Locator;\n public readonly createFolderBtn: Locator;\n public readonly breadcrumbBtn: Locator;\n public readonly deleteBtn: Locator;\n public readonly confirmToDeleteBtn: Locator;\n public readonly deleteLabelBtn: Locator;\n public readonly deleteExactLabelBtn: Locator;\n public readonly confirmCreateFolderBtn: Locator;\n public readonly dictionaryInsertItemBtn: Locator;\n public readonly caretDictionaryBtn: Locator;\n public readonly insertValueBtn: Locator;\n public readonly modalCaretBtn: Locator;\n public readonly queryBuilderBtn: Locator;\n public readonly queryBuilderOrderedBy: Locator;\n public readonly queryBuilderCreateDate: Locator;\n public readonly folderNameTxt: Locator;\n public readonly textAreaInputArea: Locator;\n public readonly wherePropertyAliasBtn: Locator;\n public readonly whereOperatorBtn: Locator;\n public readonly whereConstrainValueTxt: Locator;\n public readonly orderByPropertyAliasBtn: Locator;\n public readonly ascendingBtn: Locator;\n public readonly queryBuilderShowCode: Locator;\n public readonly createThreeDotsBtn: Locator;\n public readonly newFolderThreeDotsBtn: Locator;\n public readonly renameThreeDotsBtn: Locator;\n public readonly newNameTxt: Locator;\n public readonly renameModalBtn: Locator;\n public readonly createBtn: Locator;\n public readonly successState: Locator;\n public readonly chooseModalBtn: Locator;\n public readonly addBtn: Locator;\n private readonly renameFolderThreeDotsBtn: Locator;\n private readonly updateFolderBtn: Locator;\n private readonly filterChooseBtn: Locator;\n private readonly updateBtn: Locator;\n private readonly changeBtn: Locator;\n private readonly propertyNameTxt: Locator;\n private readonly selectPropertyEditorBtn: Locator;\n private readonly addGroupBtn: Locator;\n private readonly iAmDoneReorderingBtn: Locator;\n private readonly reorderBtn: Locator;\n private readonly compositionsBtn: Locator;\n private readonly addTabBtn: Locator;\n private readonly descriptionBtn: Locator;\n private readonly enterDescriptionTxt: Locator;\n private readonly mandatorySlider: Locator;\n private readonly validation: Locator;\n private readonly regexTxt: Locator;\n private readonly regexMessageTxt: Locator;\n private readonly structureTabBtn: Locator;\n private readonly allowAtRootBtn: Locator;\n private readonly addPropertyBtn: Locator;\n private readonly typeToFilterSearchTxt: Locator;\n private readonly editorSettingsBtn: Locator;\n private readonly labelOnTopBtn: Locator;\n private readonly unnamedTxt: Locator;\n private readonly deleteThreeDotsBtn: Locator;\n private readonly removeExactBtn: Locator;\n private readonly confirmBtn: Locator;\n private readonly disableBtn: Locator;\n private readonly confirmDisableBtn: Locator; \n private readonly enableBtn: Locator;\n private readonly confirmEnableBtn: Locator;\n private readonly iconBtn: Locator;\n private readonly bugIconBtn: Locator;\n private readonly aliasLockBtn: Locator;\n private readonly aliasNameTxt: Locator;\n\n constructor(page: Page) {\n this.page = page;\n this.saveBtn = page.getByLabel('Save', {exact: true});\n this.submitBtn = page.getByLabel('Submit');\n this.deleteExactLabelBtn = page.getByLabel('Delete', {exact: true});\n this.deleteLabelBtn = page.getByLabel('Delete');\n this.deleteBtn = page.getByRole('button', {name: 'Delete'});\n this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');\n this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');\n this.breadcrumbBtn = page.getByLabel('Breadcrumb');\n this.createFolderBtn = page.getByLabel('Create folder');\n this.dictionaryInsertItemBtn = page.getByRole('button', {name: 'Dictionary item'});\n this.caretDictionaryBtn = page.locator('umb-tree-picker-modal').locator('#caret-button');\n this.insertValueBtn = page.locator('uui-button').filter({hasText: 'Insert'});\n this.modalCaretBtn = page.locator('umb-tree-picker-modal').locator('#caret-button');\n this.queryBuilderBtn = page.locator('#query-builder-button').getByLabel('Query builder');\n this.queryBuilderOrderedBy = page.locator('#property-alias-dropdown').getByLabel('Property alias');\n this.queryBuilderCreateDate = page.locator('#property-alias-dropdown').getByText('CreateDate').locator(\"..\");\n this.folderNameTxt = page.getByRole('textbox', {name: 'Enter folder name...'});\n this.textAreaInputArea = page.locator('textarea.inputarea');\n this.wherePropertyAliasBtn = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('Property alias');\n this.whereOperatorBtn = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('Choose operator');\n this.whereConstrainValueTxt = page.locator('umb-query-builder-filter').filter({hasText: 'where'}).getByLabel('constrain value');\n this.orderByPropertyAliasBtn = page.locator('#sort-dropdown').getByLabel('Property alias');\n this.ascendingBtn = page.locator('uui-button').filter({hasText: 'ascending'}).locator('#button');\n this.queryBuilderShowCode = page.locator('umb-code-block');\n this.createThreeDotsBtn = page.getByLabel('Create...', {exact: true});\n this.chooseBtn = page.getByLabel('Choose', {exact: true});\n this.newFolderThreeDotsBtn = page.getByLabel('New Folder...');\n this.renameThreeDotsBtn = page.getByLabel('Rename...', {exact: true});\n this.newNameTxt = page.getByRole('textbox', {name: 'Enter new name...'});\n this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');\n this.createBtn = page.getByLabel('Create', {exact: true});\n this.successState = page.locator('[state=\"success\"]');\n this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');\n this.addBtn = page.getByLabel('Add', {exact: true});\n this.renameFolderThreeDotsBtn = page.getByLabel('Rename Folder...');\n this.updateFolderBtn = page.getByLabel('Update Folder');\n this.filterChooseBtn = page.locator('button').filter({hasText: 'Choose'});\n this.updateBtn = page.getByLabel('Update');\n this.changeBtn = page.getByLabel('Change');\n this.propertyNameTxt = page.locator('#name-input #input');\n this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');\n this.addGroupBtn = page.getByLabel('Add group', {exact: true});\n this.iAmDoneReorderingBtn = page.getByLabel('I am done reordering');\n this.reorderBtn = page.getByLabel('Reorder');\n this.compositionsBtn = page.getByLabel('Compositions');\n this.addTabBtn = page.getByLabel('Add tab');\n this.descriptionBtn = page.getByLabel('Description');\n this.enterDescriptionTxt = page.getByRole('textbox', {name: 'Enter description...'});\n this.mandatorySlider = page.locator('#mandatory #slider');\n this.validation = page.locator('#native');\n this.regexTxt = page.locator('input[name=\"pattern\"]');\n this.regexMessageTxt = page.locator('textarea[name=\"pattern-message\"]');\n this.structureTabBtn = page.getByRole('tab', {name: 'Structure'});\n this.allowAtRootBtn = page.locator('label').filter({hasText: 'Allow at root'});\n this.addPropertyBtn = page.getByLabel('Add property', {exact: true});\n this.typeToFilterSearchTxt = page.locator('[type=\"search\"] #input');\n this.editorSettingsBtn = page.getByLabel('Editor settings');\n this.labelOnTopBtn = page.getByRole('button', {name: 'Label on top'});\n this.unnamedTxt = page.getByRole('textbox', {name: 'Unnamed'});\n this.deleteThreeDotsBtn = page.locator('umb-entity-action').getByLabel('Delete...');\n this.removeExactBtn = page.getByLabel('Remove', {exact: true});\n this.confirmBtn = page.getByLabel('Confirm');\n this.disableBtn = page.getByLabel('Disable');\n this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');\n this.enableBtn = page.getByLabel('Enable');\n this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');\n this.iconBtn = page.getByLabel('icon');\n this.bugIconBtn = page.getByLabel('icon-bug').getByRole('img');\n this.aliasLockBtn = page.locator('#name #alias-lock');\n this.aliasNameTxt = page.locator('#name').getByLabel('alias');\n }\n\n async clickActionsMenuForName(name: string) {\n await this.page.locator('[label=\"' + name + '\"] >> [label=\"Open actions menu\"]').click({force: true});\n }\n\n async clickCaretButtonForName(name: string) {\n await this.page.locator('div').filter({hasText: name}).locator('#caret-button').click();\n }\n\n async clickCaretButton() {\n await this.page.locator('#caret-button').click();\n }\n\n async clickSaveButton() {\n await this.saveBtn.click();\n }\n\n async clickChooseButton() {\n await this.chooseBtn.click();\n }\n\n async clickFilterChooseButton() {\n await this.filterChooseBtn.click();\n }\n\n async clickRenameFolderThreeDotsButton() {\n await this.renameFolderThreeDotsBtn.click();\n }\n\n async clickUpdateFolderButton() {\n await this.updateFolderBtn.click();\n }\n\n async clickUpdateButton() {\n await this.updateBtn.click();\n }\n\n async clickSubmitButton() {\n await this.submitBtn.click({force: true});\n }\n\n async clickChangeButton() {\n await this.changeBtn.click();\n }\n\n async enterAliasName(aliasName: string) {\n // Unlocks alias\n await this.aliasLockBtn.click();\n await this.aliasNameTxt.clear();\n await this.aliasNameTxt.fill(aliasName);\n }\n\n async updateIcon(iconName: string) {\n await this.iconBtn.click({force: true});\n await this.searchForTypeToFilterValue(iconName);\n await this.bugIconBtn.click();\n }\n\n async clickTextButtonWithName(name: string) {\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickSelectPropertyEditorButton() {\n await this.selectPropertyEditorBtn.click();\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async enterAPropertyName(name: string) {\n await this.propertyNameTxt.fill(name);\n }\n \n async clickConfirmButton() {\n await this.confirmBtn.click();\n }\n\n async clickBreadcrumbButton() {\n await this.breadcrumbBtn.click();\n }\n\n async clickInsertButton() {\n await this.insertValueBtn.click();\n }\n\n async clickDictionaryInsertItemButton() {\n await this.dictionaryInsertItemBtn.click({force: true});\n }\n\n async clickCaretDictionaryButton() {\n await this.caretDictionaryBtn.click();\n }\n\n async clickDeleteButton() {\n await this.deleteBtn.click();\n }\n\n async clickConfirmToDeleteButton() {\n await this.confirmToDeleteBtn.click();\n }\n\n async clickDeleteFolderButton() {\n await this.deleteLabelBtn.click();\n }\n\n async clickConfirmCreateFolderButton() {\n await this.confirmCreateFolderBtn.click();\n }\n\n async clickDeleteThreeDotsButton() {\n await this.deleteThreeDotsBtn.click();\n }\n \n async clickRemoveExactButton() {\n await this.removeExactBtn.click();\n }\n \n async clickRemoveWithName(name: string) {\n await this.page.getByLabel('Remove ' + name).click();\n }\n \n async clickDisableButton() {\n await this.disableBtn.click();\n }\n \n async clickConfirmDisableButton() {\n await this.confirmDisableBtn.click();\n }\n \n async clickEnableButton() {\n await this.enableBtn.click();\n }\n \n async clickConfirmEnableButton() {\n await this.confirmEnableBtn.click();\n }\n \n async insertDictionaryByName(dictionaryName: string) {\n await this.insertValueBtn.click();\n await this.clickDictionaryInsertItemButton();\n // This wait is necessary. I tried using waitFor, with timeout. But it did not work.\n await this.page.waitForTimeout(1000);\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await this.queryBuilderBtn.click({force: true});\n // Wait and click to orderBy dropdownbox\n await this.orderByPropertyAliasBtn.waitFor({state: 'visible'})\n await this.orderByPropertyAliasBtn.click({force: true});\n // Wait and choose property alias option \n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Click to acending button if isAcsending is false\n if (!isAscending) {\n await this.ascendingBtn.click({force: true});\n }\n }\n\n async addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string) {\n await this.queryBuilderBtn.waitFor({state: 'visible'});\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await this.wherePropertyAliasBtn.waitFor({state: 'visible'});\n await this.wherePropertyAliasBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await this.whereOperatorBtn.waitFor({state: 'visible'})\n await this.whereOperatorBtn.click({force: true});\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await this.whereConstrainValueTxt.waitFor({state: 'visible'});\n await this.whereConstrainValueTxt.clear();\n await this.whereConstrainValueTxt.fill(constrainValue);\n await this.whereConstrainValueTxt.press('Enter');\n }\n\n async waitAndSelectQueryBuilderDropDownList(option: string) {\n const ddlOption = this.page.locator('[open]').locator('uui-combobox-list-option').filter({hasText: option}).first();\n await ddlOption.waitFor({state: 'visible'});\n await ddlOption.click({force: true});\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateThreeDotsButton();\n await this.clickNewFolderThreeDotsButton();\n await this.folderNameTxt.waitFor({state: 'visible'});\n await this.folderNameTxt.fill(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n \n async deletePropertyEditor(propertyEditorName: string) {\n // We need to hover over the property to be able to see the delete button\n await this.page.locator('uui-button').filter({ hasText: propertyEditorName }).getByLabel('Editor settings').hover();\n await this.deleteLabelBtn.click({force:true});\n }\n\n async enterFolderName(folderName: string) {\n await this.folderNameTxt.clear();\n await this.folderNameTxt.fill(folderName);\n }\n\n async isTextWithExactNameVisible(name: string, isVisible = true) {\n return expect(this.page.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n \n async isQueryBuilderCodeShown(code: string) {\n await this.queryBuilderShowCode.click();\n await expect(this.queryBuilderShowCode).toContainText(code);\n }\n\n async deleteFolder() {\n await this.clickDeleteFolderButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickDeleteExactLabel() {\n await this.deleteExactLabelBtn.click();\n }\n\n async isTreeItemVisible(name: string) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"] ')).toBeVisible();\n }\n\n async doesTreeItemHaveTheCorrectIcon(name: string, icon: string) {\n return await expect(this.page.locator('umb-tree-item').filter({hasText: name}).locator('umb-icon').locator('[name=\"' + icon + '\"]')).toBeVisible();\n }\n\n async goToSection(sectionName: string) {\n for (let section in ConstantHelper.sections) {\n await expect(this.page.getByRole('tab', {name: section})).toBeVisible({timeout: 30000});\n }\n await this.page.getByRole('tab', {name: sectionName}).click();\n }\n\n async goToSettingsTreeItem(settingsTreeItemName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.page.getByLabel(settingsTreeItemName).click();\n }\n\n async clickDataElement(elementName: string, options: any = null) {\n await this.page.click(`[data-element=\"${elementName}\"]`, options);\n }\n\n async getDataElement(elementName: string) {\n return this.page.locator(`[data-element=\"${elementName}\"]`);\n }\n\n async isButtonWithNameVisible(name: string) {\n await expect(this.page.getByRole('button', {name: name})).toBeVisible();\n }\n\n async clickLabelWithName(name: string) {\n await this.page.getByLabel(name).click();\n }\n\n async clickButtonWithName(name: string) {\n await this.page.getByRole('button', {name: name}).click({force: true});\n }\n\n async isSuccessNotificationVisible() {\n return await expect(this.page.locator('uui-toast-notification >> [color=\"positive\"]')).toBeVisible();\n }\n\n async isErrorNotificationVisible() {\n return await expect(this.page.locator('uui-toast-notification >> [color=\"danger\"]')).toBeVisible();\n }\n\n async clickCreateThreeDotsButton() {\n await this.createThreeDotsBtn.click();\n }\n\n async clickCreateButton() {\n await this.createBtn.click();\n }\n\n async clickAddButton() {\n await this.addBtn.click();\n };\n\n async clickNewFolderThreeDotsButton() {\n await this.newFolderThreeDotsBtn.click();\n }\n\n clickEditorSettingsButton() {\n return this.editorSettingsBtn.click();\n }\n\n async enterDescription(description: string) {\n await this.enterDescriptionTxt.fill(description);\n }\n\n async doesDescriptionHaveValue(value: string) {\n return await expect(this.descriptionBtn).toHaveValue(value);\n }\n\n async clickStructureTab() {\n await this.page.waitForTimeout(200);\n await this.structureTabBtn.click({force: true});\n }\n\n async clickAllowAtRootButton() {\n await this.allowAtRootBtn.click();\n }\n\n async clickIAmDoneReorderingButton() {\n await this.iAmDoneReorderingBtn.click();\n }\n\n async clickReorderButton() {\n await this.reorderBtn.click();\n }\n\n async clickLabelOnTopButton() {\n await this.labelOnTopBtn.click();\n }\n\n async clickMandatorySlider() {\n await this.mandatorySlider.click();\n }\n\n async selectValidationOption(option: string) {\n await this.validation.selectOption(option);\n }\n\n async enterRegEx(regEx: string) {\n await this.regexTxt.fill(regEx);\n }\n\n async enterRegExMessage(regExMessage: string) {\n await this.regexMessageTxt.fill(regExMessage);\n }\n\n async clickCompositionsButton() {\n await this.compositionsBtn.click();\n }\n\n async clickAddTabButton() {\n await this.addTabBtn.click();\n }\n\n async enterTabName(tabName: string) {\n await this.unnamedTxt.fill(tabName);\n }\n\n async searchForTypeToFilterValue(searchValue: string) {\n await this.typeToFilterSearchTxt.fill(searchValue);\n }\n\n async addPropertyEditor(propertyEditorName: string, index: number = 0) {\n await this.addPropertyBtn.nth(index).click({force: true});\n await this.clickSelectPropertyEditorButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.page.waitForTimeout(200);\n await this.enterAPropertyName(propertyEditorName);\n await this.clickAddButton();\n }\n\n async updatePropertyEditor(propertyEditorName: string) {\n await this.clickEditorSettingsButton();\n await this.clickChangeButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.page.waitForTimeout(200);\n await this.enterAPropertyName(propertyEditorName);\n await this.clickUpdateButton();\n }\n\n async clickAddGroupButton() {\n await this.addGroupBtn.click();\n }\n\n async enterGroupName(groupName: string, index: number = 0) {\n await this.page.waitForTimeout(200);\n await this.page.getByLabel('Group name', {exact: true}).nth(index).fill(groupName);\n }\n\n async doesGroupHaveValue(value: string) {\n return await expect(this.page.getByLabel('Group', {exact: true})).toHaveValue(value);\n }\n\n async rename(newName: string) {\n await this.renameThreeDotsBtn.click();\n await this.newNameTxt.click();\n await this.newNameTxt.clear();\n await this.newNameTxt.fill(newName);\n await this.renameModalBtn.click({force: true});\n }\n\n async isSuccessButtonWithTextVisible(text: string) {\n return await expect(this.successState.filter({hasText: text})).toBeVisible({timeout: 10000});\n }\n\n async dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number, horizontalOffset: number, steps?) {\n const targetLocation = await dragToSelector.boundingBox();\n const elementCenterX = targetLocation!.x + targetLocation!.width / 2;\n const elementCenterY = targetLocation!.y + targetLocation!.height / 2;\n await dragFromSelector.hover();\n await this.page.mouse.down();\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.mouse.up();\n }\n}"]}
|
|
@@ -17,6 +17,9 @@ import { PublishedStatusUiHelper } from "./PublishedStatusUiHelper";
|
|
|
17
17
|
import { HealthCheckUiHelper } from "./HealthCheckUiHelper";
|
|
18
18
|
import { ProfilingUiHelper } from "./ProfilingUiHelper";
|
|
19
19
|
import { WelcomeDashboardUiHelper } from './WelcomeDashboardUiHelper';
|
|
20
|
+
import { DocumentTypeUiHelper } from "./DocumentTypeUiHelper";
|
|
21
|
+
import { MediaTypeUiHelper } from "./MediaTypeUiHelper";
|
|
22
|
+
import { UserUiHelper } from "./UserUiHelper";
|
|
20
23
|
export declare class UiHelpers {
|
|
21
24
|
page: Page;
|
|
22
25
|
stylesheet: StylesheetUiHelper;
|
|
@@ -37,6 +40,9 @@ export declare class UiHelpers {
|
|
|
37
40
|
healthCheck: HealthCheckUiHelper;
|
|
38
41
|
profiling: ProfilingUiHelper;
|
|
39
42
|
welcomeDashboard: WelcomeDashboardUiHelper;
|
|
43
|
+
documentType: DocumentTypeUiHelper;
|
|
44
|
+
mediaType: MediaTypeUiHelper;
|
|
45
|
+
user: UserUiHelper;
|
|
40
46
|
constructor(page: Page);
|
|
41
47
|
goToBackOffice(): Promise<void>;
|
|
42
48
|
waitForTimeout(timeout: number): Promise<void>;
|
|
@@ -20,6 +20,9 @@ const PublishedStatusUiHelper_1 = require("./PublishedStatusUiHelper");
|
|
|
20
20
|
const HealthCheckUiHelper_1 = require("./HealthCheckUiHelper");
|
|
21
21
|
const ProfilingUiHelper_1 = require("./ProfilingUiHelper");
|
|
22
22
|
const WelcomeDashboardUiHelper_1 = require("./WelcomeDashboardUiHelper");
|
|
23
|
+
const DocumentTypeUiHelper_1 = require("./DocumentTypeUiHelper");
|
|
24
|
+
const MediaTypeUiHelper_1 = require("./MediaTypeUiHelper");
|
|
25
|
+
const UserUiHelper_1 = require("./UserUiHelper");
|
|
23
26
|
class UiHelpers {
|
|
24
27
|
page;
|
|
25
28
|
stylesheet;
|
|
@@ -40,6 +43,9 @@ class UiHelpers {
|
|
|
40
43
|
healthCheck;
|
|
41
44
|
profiling;
|
|
42
45
|
welcomeDashboard;
|
|
46
|
+
documentType;
|
|
47
|
+
mediaType;
|
|
48
|
+
user;
|
|
43
49
|
constructor(page) {
|
|
44
50
|
this.page = page;
|
|
45
51
|
this.stylesheet = new StylesheetUiHelper_1.StylesheetUiHelper(this.page);
|
|
@@ -60,6 +66,9 @@ class UiHelpers {
|
|
|
60
66
|
this.healthCheck = new HealthCheckUiHelper_1.HealthCheckUiHelper(this.page);
|
|
61
67
|
this.profiling = new ProfilingUiHelper_1.ProfilingUiHelper(this.page);
|
|
62
68
|
this.welcomeDashboard = new WelcomeDashboardUiHelper_1.WelcomeDashboardUiHelper(this.page);
|
|
69
|
+
this.documentType = new DocumentTypeUiHelper_1.DocumentTypeUiHelper(this.page);
|
|
70
|
+
this.mediaType = new MediaTypeUiHelper_1.MediaTypeUiHelper(this.page);
|
|
71
|
+
this.user = new UserUiHelper_1.UserUiHelper(this.page);
|
|
63
72
|
}
|
|
64
73
|
async goToBackOffice() {
|
|
65
74
|
await this.page.goto(umbraco_config_1.umbracoConfig.environment.baseUrl + '/umbraco');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":";;;AACA,6DAAwD;AACxD,yDAAmD;AACnD,+DAA0D;AAC1D,qDAAgD;AAChD,yDAAoD;AACpD,6DAAwD;AACxD,mDAA8C;AAC9C,2DAAsD;AACtD,mEAA8D;AAC9D,yDAAoD;AACpD,iEAA4D;AAC5D,uDAAkD;AAClD,yDAAoD;AACpD,mEAA8D;AAC9D,2EAAsE;AACtE,uEAAkE;AAClE,+DAA0D;AAC1D,2DAAsD;AACtD,yEAAoE;
|
|
1
|
+
{"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page} from \"@playwright/test\"\nimport {StylesheetUiHelper} from \"./StylesheetUiHelper\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {PartialViewUiHelper} from \"./PartialViewUiHelper\";\nimport {ScriptUiHelper} from \"./ScriptUiHelper\";\nimport {TemplateUiHelper} from \"./TemplateUiHelper\";\nimport {DictionaryUiHelper} from \"./DictionaryUiHelper\";\nimport {LoginUiHelper} from \"./LoginUiHelper\";\nimport {LogViewerUiHelper} from \"./LogViewerUiHelper\";\nimport {TelemetryDataUiHelper} from \"./TelemetryDataUiHelper\";\nimport {DataTypeUiHelper} from \"./DataTypeUiHelper\";\nimport {RelationTypeUiHelper} from \"./RelationTypeUiHelper\";\nimport {PackageUiHelper} from \"./PackageUiHelper\";\nimport {LanguageUiHelper} from \"./LanguageUiHelper\";\nimport {ModelsBuilderUiHelper} from \"./ModelsBuilderUiHelper\";\nimport {ExamineManagementUiHelper} from \"./ExamineManagementUiHelper\";\nimport {PublishedStatusUiHelper} from \"./PublishedStatusUiHelper\";\nimport {HealthCheckUiHelper} from \"./HealthCheckUiHelper\";\nimport {ProfilingUiHelper} from \"./ProfilingUiHelper\";\nimport {WelcomeDashboardUiHelper} from './WelcomeDashboardUiHelper';\nimport {DocumentTypeUiHelper} from \"./DocumentTypeUiHelper\";\nimport {MediaTypeUiHelper} from \"./MediaTypeUiHelper\";\nimport {UserUiHelper} from \"./UserUiHelper\";\n\nexport class UiHelpers {\n page: Page;\n stylesheet: StylesheetUiHelper;\n partialView: PartialViewUiHelper;\n dictionary: DictionaryUiHelper;\n script: ScriptUiHelper;\n template: TemplateUiHelper;\n login: LoginUiHelper;\n logViewer: LogViewerUiHelper;\n telemetryData: TelemetryDataUiHelper;\n dataType: DataTypeUiHelper;\n relationType: RelationTypeUiHelper;\n package: PackageUiHelper;\n language: LanguageUiHelper;\n modelsBuilder: ModelsBuilderUiHelper;\n examineManagement: ExamineManagementUiHelper;\n publishedStatus: PublishedStatusUiHelper;\n healthCheck: HealthCheckUiHelper;\n profiling: ProfilingUiHelper;\n welcomeDashboard: WelcomeDashboardUiHelper;\n documentType: DocumentTypeUiHelper;\n mediaType: MediaTypeUiHelper;\n user: UserUiHelper;\n\n constructor(page: Page) {\n this.page = page;\n this.stylesheet = new StylesheetUiHelper(this.page);\n this.partialView = new PartialViewUiHelper(this.page);\n this.script = new ScriptUiHelper(this.page);\n this.template = new TemplateUiHelper(this.page);\n this.dictionary = new DictionaryUiHelper(this.page);\n this.login = new LoginUiHelper(this.page);\n this.logViewer = new LogViewerUiHelper(this.page);\n this.telemetryData = new TelemetryDataUiHelper(this.page);\n this.dataType = new DataTypeUiHelper(this.page);\n this.relationType = new RelationTypeUiHelper(this.page);\n this.package = new PackageUiHelper(this.page);\n this.language = new LanguageUiHelper(this.page);\n this.modelsBuilder = new ModelsBuilderUiHelper(this.page);\n this.examineManagement = new ExamineManagementUiHelper(this.page);\n this.publishedStatus = new PublishedStatusUiHelper(this.page);\n this.healthCheck = new HealthCheckUiHelper(this.page);\n this.profiling = new ProfilingUiHelper(this.page);\n this.welcomeDashboard = new WelcomeDashboardUiHelper(this.page);\n this.documentType = new DocumentTypeUiHelper(this.page);\n this.mediaType = new MediaTypeUiHelper(this.page);\n this.user = new UserUiHelper(this.page);\n }\n\n async goToBackOffice() {\n await this.page.goto(umbracoConfig.environment.baseUrl + '/umbraco');\n }\n\n async waitForTimeout(timeout: number) {\n await this.page.waitForTimeout(timeout);\n }\n\n async reloadPage() {\n await this.page.reload();\n }\n\n async goBackPage() {\n await this.page.goBack();\n }\n}"]}
|
|
@@ -4,19 +4,23 @@ export declare class UserApiHelper {
|
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
5
|
ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
6
6
|
exists(id: string): Promise<boolean>;
|
|
7
|
-
|
|
7
|
+
doesNameExist(name: string): Promise<boolean>;
|
|
8
8
|
get(id: string): Promise<any>;
|
|
9
9
|
getByName(name: string): Promise<any>;
|
|
10
|
-
create(
|
|
10
|
+
create(userData: any): Promise<string | undefined>;
|
|
11
11
|
update(id: string, userData: any): Promise<import("playwright-core").APIResponse>;
|
|
12
12
|
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
13
13
|
deleteByName(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
14
|
+
saveUser(user: any): Promise<import("playwright-core").APIResponse>;
|
|
14
15
|
addAvatar(id: string, fileId: any): Promise<import("playwright-core").APIResponse>;
|
|
15
16
|
removeAvatar(id: string): Promise<import("playwright-core").APIResponse>;
|
|
16
17
|
disable(ids: any): Promise<import("playwright-core").APIResponse>;
|
|
17
18
|
enable(ids: any): Promise<import("playwright-core").APIResponse>;
|
|
18
19
|
unlock(ids: any): Promise<import("playwright-core").APIResponse>;
|
|
20
|
+
getCurrentUser(): Promise<any>;
|
|
19
21
|
setUserGroups(userIds: any, userGroupIds: any): Promise<import("playwright-core").APIResponse>;
|
|
20
22
|
updatePassword(newPassword: string, oldPassword: string): Promise<import("playwright-core").APIResponse>;
|
|
21
23
|
invite(email: string, name: string, userGroupIds: any, message: string): Promise<import("playwright-core").APIResponse>;
|
|
24
|
+
createDefaultUser(nameOfUser: any, email: any, userGroupOneId: any, userGroupTwoId?: any): Promise<string | undefined>;
|
|
25
|
+
addDefaultAvatarImageToUser(userId: string): Promise<import("playwright-core").APIResponse>;
|
|
22
26
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UserApiHelper = void 0;
|
|
4
|
+
const json_models_builders_1 = require("@umbraco/json-models-builders");
|
|
4
5
|
class UserApiHelper {
|
|
5
6
|
api;
|
|
6
7
|
constructor(api) {
|
|
@@ -22,7 +23,7 @@ class UserApiHelper {
|
|
|
22
23
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);
|
|
23
24
|
return response.status() === 200;
|
|
24
25
|
}
|
|
25
|
-
async
|
|
26
|
+
async doesNameExist(name) {
|
|
26
27
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');
|
|
27
28
|
const json = await response.json();
|
|
28
29
|
for (const sb of json.items) {
|
|
@@ -53,17 +54,9 @@ class UserApiHelper {
|
|
|
53
54
|
}
|
|
54
55
|
return null;
|
|
55
56
|
}
|
|
56
|
-
async create(
|
|
57
|
-
const userData = {
|
|
58
|
-
"email": email,
|
|
59
|
-
"userName": email,
|
|
60
|
-
"name": name,
|
|
61
|
-
"userGroupIds": userGroupIds
|
|
62
|
-
};
|
|
57
|
+
async create(userData) {
|
|
63
58
|
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', userData);
|
|
64
|
-
|
|
65
|
-
const json = await response.json();
|
|
66
|
-
return json.userId;
|
|
59
|
+
return response.headers().location.split("/").pop();
|
|
67
60
|
}
|
|
68
61
|
async update(id, userData) {
|
|
69
62
|
return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id, userData);
|
|
@@ -83,10 +76,15 @@ class UserApiHelper {
|
|
|
83
76
|
}
|
|
84
77
|
return null;
|
|
85
78
|
}
|
|
79
|
+
async saveUser(user) {
|
|
80
|
+
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', user);
|
|
81
|
+
}
|
|
86
82
|
// Avatar
|
|
87
83
|
async addAvatar(id, fileId) {
|
|
88
84
|
const avatar = {
|
|
89
|
-
'
|
|
85
|
+
'file': {
|
|
86
|
+
'id': fileId
|
|
87
|
+
}
|
|
90
88
|
};
|
|
91
89
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id, avatar);
|
|
92
90
|
}
|
|
@@ -112,6 +110,10 @@ class UserApiHelper {
|
|
|
112
110
|
};
|
|
113
111
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/unlock', users);
|
|
114
112
|
}
|
|
113
|
+
async getCurrentUser() {
|
|
114
|
+
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/current');
|
|
115
|
+
return await response.json();
|
|
116
|
+
}
|
|
115
117
|
// Set User Groups for Users
|
|
116
118
|
async setUserGroups(userIds, userGroupIds) {
|
|
117
119
|
const userGroupsForUsers = {
|
|
@@ -139,6 +141,26 @@ class UserApiHelper {
|
|
|
139
141
|
};
|
|
140
142
|
return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/invite', userInvite);
|
|
141
143
|
}
|
|
144
|
+
async createDefaultUser(nameOfUser, email, userGroupOneId, userGroupTwoId) {
|
|
145
|
+
const user = new json_models_builders_1.UserBuilder()
|
|
146
|
+
.withName(nameOfUser)
|
|
147
|
+
.addUserGroupId(userGroupOneId)
|
|
148
|
+
.withEmail(email)
|
|
149
|
+
.build();
|
|
150
|
+
if (userGroupTwoId) {
|
|
151
|
+
user.userGroupIds.push(userGroupTwoId);
|
|
152
|
+
}
|
|
153
|
+
return await this.create(user);
|
|
154
|
+
}
|
|
155
|
+
async addDefaultAvatarImageToUser(userId) {
|
|
156
|
+
const crypto = require('crypto');
|
|
157
|
+
const temporaryFileId = crypto.randomUUID();
|
|
158
|
+
const filePath = './fixtures/mediaLibrary/Umbraco.png';
|
|
159
|
+
const fileName = 'Umbraco.png';
|
|
160
|
+
const mimeType = 'image/png';
|
|
161
|
+
await this.api.temporaryFile.create(temporaryFileId, fileName, mimeType, filePath);
|
|
162
|
+
return await this.addAvatar(userId, temporaryFileId);
|
|
163
|
+
}
|
|
142
164
|
}
|
|
143
165
|
exports.UserApiHelper = UserApiHelper;
|
|
144
166
|
//# sourceMappingURL=UserApiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class UserApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n return response.status() === 200;\n }\n\n async nameExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n return await response.json();\n }\n\n }\n }\n return null;\n }\n\n async create(email, name, userGroupIds) {\n const userData = {\n \"email\": email,\n \"userName\": email,\n \"name\": name,\n \"userGroupIds\": userGroupIds\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', userData);\n // Returns the id of the user\n const json = await response.json();\n return json.userId;\n }\n\n async update(id: string, userData) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id, userData);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n }\n\n async deleteByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n\n }\n }\n }\n return null;\n }\n\n // Avatar\n async addAvatar(id: string, fileId) {\n const avatar = {\n 'fileId': fileId\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id, avatar);\n }\n\n async removeAvatar(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id);\n }\n\n // Enable/Disabled and Unlock\n\n async disable(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/disable', users);\n }\n\n async enable(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/enable', users);\n }\n\n async unlock(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/unlock', users);\n }\n\n // Set User Groups for Users\n async setUserGroups(userIds, userGroupIds) {\n const userGroupsForUsers = {\n \"userIds\": userIds,\n \"userGroupIds\": userGroupIds\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/set-user-groups', userGroupsForUsers);\n }\n\n // Password\n async updatePassword(newPassword: string, oldPassword: string) {\n const updatePassword = {\n \"newPassword\": newPassword,\n \"oldPassword\": oldPassword\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/change-password/', updatePassword);\n }\n\n // Invite\n async invite(email: string, name: string, userGroupIds, message: string) {\n const userInvite = {\n \"email\": email,\n \"userName\": email,\n \"name\": name,\n \"userGroupIds\": userGroupIds,\n \"message\": message\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/invite', userInvite);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"UserApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {UserBuilder} from \"@umbraco/json-models-builders\";\n\nexport class UserApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n return response.status() === 200;\n }\n\n async doesNameExist(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n return await response.json();\n }\n\n }\n }\n return null;\n }\n\n async create(userData) {\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', userData);\n return response.headers().location.split(\"/\").pop();\n }\n\n async update(id: string, userData) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id, userData);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);\n }\n\n async deleteByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);\n\n }\n }\n }\n return null;\n }\n\n async saveUser(user) {\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user', user);\n }\n\n // Avatar\n async addAvatar(id: string, fileId) {\n const avatar = {\n 'file':\n {\n 'id': fileId\n }\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id, avatar);\n }\n\n async removeAvatar(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id);\n }\n\n // Enable/Disabled and Unlock\n\n async disable(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/disable', users);\n }\n\n async enable(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/enable', users);\n }\n\n async unlock(ids) {\n const users = {\n \"userIds\": ids\n };\n\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/unlock', users);\n }\n\n async getCurrentUser() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user/current');\n return await response.json();\n }\n\n // Set User Groups for Users\n async setUserGroups(userIds, userGroupIds) {\n const userGroupsForUsers = {\n \"userIds\": userIds,\n \"userGroupIds\": userGroupIds\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/set-user-groups', userGroupsForUsers);\n }\n\n // Password\n async updatePassword(newPassword: string, oldPassword: string) {\n const updatePassword = {\n \"newPassword\": newPassword,\n \"oldPassword\": oldPassword\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/change-password/', updatePassword);\n }\n\n // Invite\n async invite(email: string, name: string, userGroupIds, message: string) {\n const userInvite = {\n \"email\": email,\n \"userName\": email,\n \"name\": name,\n \"userGroupIds\": userGroupIds,\n \"message\": message\n };\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/invite', userInvite);\n }\n\n async createDefaultUser(nameOfUser, email, userGroupOneId, userGroupTwoId?) {\n const user = new UserBuilder()\n .withName(nameOfUser)\n .addUserGroupId(userGroupOneId)\n .withEmail(email)\n .build();\n\n if (userGroupTwoId) {\n user.userGroupIds.push(userGroupTwoId);\n }\n return await this.create(user);\n }\n\n async addDefaultAvatarImageToUser(userId: string) {\n const crypto = require('crypto');\n const temporaryFileId = crypto.randomUUID();\n const filePath = './fixtures/mediaLibrary/Umbraco.png';\n const fileName = 'Umbraco.png';\n const mimeType = 'image/png';\n await this.api.temporaryFile.create(temporaryFileId, fileName, mimeType, filePath);\n\n return await this.addAvatar(userId, temporaryFileId);\n }\n}"]}
|
|
@@ -4,11 +4,12 @@ export declare class UserGroupApiHelper {
|
|
|
4
4
|
constructor(api: ApiHelpers);
|
|
5
5
|
ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
|
|
6
6
|
exist(id: string): Promise<boolean>;
|
|
7
|
-
create(
|
|
7
|
+
create(userGroupData: any): Promise<string | undefined>;
|
|
8
8
|
getByName(name: string): Promise<any>;
|
|
9
9
|
get(id: string): Promise<any>;
|
|
10
10
|
getAll(): Promise<any>;
|
|
11
11
|
update(id: string, userGroup: any): Promise<string>;
|
|
12
12
|
nameExists(name: string): Promise<boolean>;
|
|
13
13
|
delete(id: string): Promise<import("playwright-core").APIResponse>;
|
|
14
|
+
createSimpleUserGroup(name: string): Promise<string | undefined>;
|
|
14
15
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UserGroupApiHelper = void 0;
|
|
4
|
+
const json_models_builders_1 = require("@umbraco/json-models-builders");
|
|
4
5
|
class UserGroupApiHelper {
|
|
5
6
|
api;
|
|
6
7
|
constructor(api) {
|
|
@@ -22,17 +23,7 @@ class UserGroupApiHelper {
|
|
|
22
23
|
const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
|
|
23
24
|
return response.status() === 200;
|
|
24
25
|
}
|
|
25
|
-
async create(
|
|
26
|
-
const userGroupData = {
|
|
27
|
-
"name": name,
|
|
28
|
-
"icon": icon,
|
|
29
|
-
"sections": sections,
|
|
30
|
-
"languages": languages,
|
|
31
|
-
"hasAccessToAllLanguages": hasAccessToAllLanguages,
|
|
32
|
-
"documentStartNodeId": documentStartNodeId,
|
|
33
|
-
"mediaStartNodeId": mediaStartNodeId,
|
|
34
|
-
"permissions": permissions
|
|
35
|
-
};
|
|
26
|
+
async create(userGroupData) {
|
|
36
27
|
const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);
|
|
37
28
|
// Returns the id of the userGroup
|
|
38
29
|
return response.headers().location.split("/").pop();
|
|
@@ -83,6 +74,13 @@ class UserGroupApiHelper {
|
|
|
83
74
|
async delete(id) {
|
|
84
75
|
return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);
|
|
85
76
|
}
|
|
77
|
+
async createSimpleUserGroup(name) {
|
|
78
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
79
|
+
.withName(name)
|
|
80
|
+
.addSection('Umb.Section.Content')
|
|
81
|
+
.build();
|
|
82
|
+
return await this.create(userGroup);
|
|
83
|
+
}
|
|
86
84
|
}
|
|
87
85
|
exports.UserGroupApiHelper = UserGroupApiHelper;
|
|
88
86
|
//# sourceMappingURL=UserGroupApiHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {UserGroupBuilder} from \"@umbraco/json-models-builders\";\n\n\nexport class UserGroupApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async exist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n return response.status() === 200;\n }\n\n async create(userGroupData){\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);\n // Returns the id of the userGroup\n return response.headers().location.split(\"/\").pop();\n }\n\n async getByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + sb.id);\n return await response.json();\n }\n }\n }\n return null;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async update(id: string, userGroup) {\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);\n return response.text();\n }\n\n async nameExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n }\n \n async createSimpleUserGroup(name: string) {\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .build();\n\n return await this.create(userGroup);\n }\n \n}"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Page } from "@playwright/test";
|
|
2
|
+
import { UiBaseLocators } from "./UiBaseLocators";
|
|
3
|
+
export declare class UserUiHelper extends UiBaseLocators {
|
|
4
|
+
private readonly usersTabBtn;
|
|
5
|
+
private readonly createUserBtn;
|
|
6
|
+
private readonly nameOfTheUserTxt;
|
|
7
|
+
private readonly userEmailTxt;
|
|
8
|
+
private readonly addUserGroupsBtn;
|
|
9
|
+
private readonly openUserGroupsBtn;
|
|
10
|
+
private readonly updatedNameOfTheUserTxt;
|
|
11
|
+
private readonly changePasswordBtn;
|
|
12
|
+
private readonly newPasswordTxt;
|
|
13
|
+
private readonly confirmPasswordTxt;
|
|
14
|
+
private readonly changePhotoBtn;
|
|
15
|
+
private readonly removePhotoBtn;
|
|
16
|
+
private readonly searchInUserSectionTxt;
|
|
17
|
+
private readonly userSectionCard;
|
|
18
|
+
private readonly statusBtn;
|
|
19
|
+
private readonly groupBtn;
|
|
20
|
+
constructor(page: Page);
|
|
21
|
+
clickUsersTabButton(): Promise<void>;
|
|
22
|
+
clickCreateUserButton(): Promise<void>;
|
|
23
|
+
enterNameOfTheUser(name: string): Promise<void>;
|
|
24
|
+
enterUserEmail(email: string): Promise<void>;
|
|
25
|
+
clickAddUserGroupsButton(): Promise<void>;
|
|
26
|
+
clickOpenUserGroupsButton(): Promise<void>;
|
|
27
|
+
enterUpdatedNameOfUser(name: string): Promise<void>;
|
|
28
|
+
clickUserWithName(name: string): Promise<void>;
|
|
29
|
+
clickChangePasswordButton(): Promise<void>;
|
|
30
|
+
updatePassword(newPassword: string): Promise<void>;
|
|
31
|
+
isUserVisible(name: string, isVisible?: boolean): Promise<void>;
|
|
32
|
+
clickChangePhotoButton(): Promise<void>;
|
|
33
|
+
clickRemovePhotoButton(): Promise<void>;
|
|
34
|
+
changePhotoWithFileChooser(filePath: string): Promise<void>;
|
|
35
|
+
searchInUserSection(name: string): Promise<void>;
|
|
36
|
+
doesUserSectionContainUserAmount(amount: number): Promise<void>;
|
|
37
|
+
doesUserSectionContainUserWithText(name: string): Promise<void>;
|
|
38
|
+
filterByStatusName(statusName: string): Promise<void>;
|
|
39
|
+
filterByGroupName(groupName: string): Promise<void>;
|
|
40
|
+
isPasswordUpdatedForUserWithId(userId: string): Promise<void>;
|
|
41
|
+
}
|