mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-05-12 17:04:46 +00:00
[ACS-9065] [E2E] Added folder information tests in ACA (#4478)
* [ACS-9065] Added folder information tests in ACA * [ACS-9065] fixed sonar issues * [ACS-9065] Changed test describe name * [ACS-9065] debugging dialog errors 1 * [ACS-9065] removed debugging reload * [ACS-9065] renamed e2e file
This commit is contained in:
parent
66d6afd12a
commit
ebbc868aa1
2
.github/workflows/pull-request.yml
vendored
2
.github/workflows/pull-request.yml
vendored
@ -148,6 +148,8 @@ jobs:
|
|||||||
id: 17
|
id: 17
|
||||||
- name: "smoke-test"
|
- name: "smoke-test"
|
||||||
id: 18
|
id: 18
|
||||||
|
- name: "folder-information-actions"
|
||||||
|
id: 19
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
26
e2e/playwright/folder-information-actions/.eslintrc.json
Normal file
26
e2e/playwright/folder-information-actions/.eslintrc.json
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../../.eslintrc.json",
|
||||||
|
"ignorePatterns": [
|
||||||
|
"!**/*"
|
||||||
|
],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": [
|
||||||
|
"*.ts"
|
||||||
|
],
|
||||||
|
"parserOptions": {
|
||||||
|
"project": [
|
||||||
|
"e2e/playwright/folder-information-actions/tsconfig.e2e.json"
|
||||||
|
],
|
||||||
|
"createDefaultProgram": true
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
|
"rxjs",
|
||||||
|
"unicorn"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"@typescript-eslint/no-floating-promises": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
{}
|
@ -0,0 +1,42 @@
|
|||||||
|
/*!
|
||||||
|
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||||
|
*
|
||||||
|
* Alfresco Example Content Application
|
||||||
|
*
|
||||||
|
* This file is part of the Alfresco Example Content Application.
|
||||||
|
* If the software was purchased under a paid Alfresco license, the terms of
|
||||||
|
* the paid license agreement will prevail. Otherwise, the software is
|
||||||
|
* provided under the following open source license terms:
|
||||||
|
*
|
||||||
|
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { PlaywrightTestConfig } from '@playwright/test';
|
||||||
|
import { CustomConfig, getGlobalConfig, getExcludedTestsRegExpArray } from '@alfresco/aca-playwright-shared';
|
||||||
|
import EXCLUDED_JSON from './exclude.tests.json';
|
||||||
|
|
||||||
|
const config: PlaywrightTestConfig<CustomConfig> = {
|
||||||
|
...getGlobalConfig,
|
||||||
|
|
||||||
|
grepInvert: getExcludedTestsRegExpArray(EXCLUDED_JSON, 'Folder Information Actions'),
|
||||||
|
projects: [
|
||||||
|
{
|
||||||
|
name: 'Folder Information Actions',
|
||||||
|
testDir: './src/tests',
|
||||||
|
use: {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
export default config;
|
31
e2e/playwright/folder-information-actions/project.json
Normal file
31
e2e/playwright/folder-information-actions/project.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"name": "folder-information-actions-e2e",
|
||||||
|
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
|
||||||
|
"sourceRoot": "e2e/playwright/folder-information-actions",
|
||||||
|
"projectType": "application",
|
||||||
|
"targets": {
|
||||||
|
"e2e": {
|
||||||
|
"executor": "nx:run-commands",
|
||||||
|
"options": {
|
||||||
|
"commands": ["npx playwright test --config=e2e/playwright/folder-information-actions/playwright.config.ts"]
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"production": {
|
||||||
|
"devServerTarget": "content-ce:serve:production"
|
||||||
|
},
|
||||||
|
"ui": {
|
||||||
|
"args": ["--ui"]
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"args": ["--debug"]
|
||||||
|
},
|
||||||
|
"headed": {
|
||||||
|
"args": ["--headed"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lint": {
|
||||||
|
"executor": "@angular-eslint/builder:lint"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,195 @@
|
|||||||
|
/*!
|
||||||
|
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||||
|
*
|
||||||
|
* Alfresco Example Content Application
|
||||||
|
*
|
||||||
|
* This file is part of the Alfresco Example Content Application.
|
||||||
|
* If the software was purchased under a paid Alfresco license, the terms of
|
||||||
|
* the paid license agreement will prevail. Otherwise, the software is
|
||||||
|
* provided under the following open source license terms:
|
||||||
|
*
|
||||||
|
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { expect } from '@playwright/test';
|
||||||
|
import {
|
||||||
|
ApiClientFactory,
|
||||||
|
NodesApi,
|
||||||
|
Utils,
|
||||||
|
test,
|
||||||
|
TrashcanApi,
|
||||||
|
TEST_FILES,
|
||||||
|
FileActionsApi,
|
||||||
|
PersonalFilesPage,
|
||||||
|
MyLibrariesPage,
|
||||||
|
SitesApi,
|
||||||
|
SearchPage
|
||||||
|
} from '@alfresco/aca-playwright-shared';
|
||||||
|
|
||||||
|
test.describe('Actions - Folder Information', () => {
|
||||||
|
const username = `user-e2e-${Utils.random()}`;
|
||||||
|
const emptyFolder = `folder17722-${Utils.random()}`;
|
||||||
|
const folder1File = `folder17715-${Utils.random()}`;
|
||||||
|
const folderXFiles = `folder17752-${Utils.random()}`;
|
||||||
|
const folderXFilesAndFolders = `folder17753-1-${Utils.random()}`;
|
||||||
|
const folderInsideFolder = `folder17753-2-${Utils.random()}`;
|
||||||
|
const folderInLibrary = `folder17758-${Utils.random()}`;
|
||||||
|
const libraryForFolder = `library17758-${Utils.random()}`;
|
||||||
|
const folderForSearch = `folder17759-${Utils.random()}`;
|
||||||
|
const folderNested1 = `folder17766-1-${Utils.random()}`;
|
||||||
|
const folderNested2 = `folder17766-1-${Utils.random()}`;
|
||||||
|
const folderNested3 = `folder17766-1-${Utils.random()}`;
|
||||||
|
const file1 = `file1-${Utils.random()}.docx`;
|
||||||
|
const file2 = `file2-${Utils.random()}.docx`;
|
||||||
|
const file3 = `file3-${Utils.random()}.docx`;
|
||||||
|
const file4 = `file4-${Utils.random()}.docx`;
|
||||||
|
const file5 = `file5-${Utils.random()}.docx`;
|
||||||
|
const file6 = `file6-${Utils.random()}.docx`;
|
||||||
|
const file7 = `file7-${Utils.random()}.docx`;
|
||||||
|
const file8 = `file8-${Utils.random()}.docx`;
|
||||||
|
const file9 = `file9-${Utils.random()}.docx`;
|
||||||
|
const file10 = `file10-${Utils.random()}.docx`;
|
||||||
|
const file11 = `file10-${Utils.random()}.docx`;
|
||||||
|
const file12 = `file10-${Utils.random()}.docx`;
|
||||||
|
const file13 = `file10-${Utils.random()}.docx`;
|
||||||
|
let nodesApi: NodesApi;
|
||||||
|
let trashcanApi: TrashcanApi;
|
||||||
|
let fileActionsApi: FileActionsApi;
|
||||||
|
let sitesApi: SitesApi;
|
||||||
|
let folder1FileId: string;
|
||||||
|
let folderXFilesId: string;
|
||||||
|
let folderXFilesAndFoldersId: string;
|
||||||
|
let folderInsideFolderId: string;
|
||||||
|
let folderInLibraryId: string;
|
||||||
|
let siteId: string;
|
||||||
|
let folderForSearchId: string;
|
||||||
|
let folderNested1Id: string;
|
||||||
|
let folderNested2Id: string;
|
||||||
|
let folderNested3Id: string;
|
||||||
|
|
||||||
|
test.beforeAll(async () => {
|
||||||
|
const apiService = new ApiClientFactory();
|
||||||
|
await apiService.setUpAcaBackend('admin');
|
||||||
|
await apiService.createUser({ username: username });
|
||||||
|
nodesApi = await NodesApi.initialize(username, username);
|
||||||
|
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||||
|
fileActionsApi = await FileActionsApi.initialize(username, username);
|
||||||
|
sitesApi = await SitesApi.initialize(username, username);
|
||||||
|
|
||||||
|
siteId = (await sitesApi.createSite(libraryForFolder)).entry.id;
|
||||||
|
const docLibId = await sitesApi.getDocLibId(siteId);
|
||||||
|
await nodesApi.createFolder(emptyFolder, '-my-');
|
||||||
|
folder1FileId = (await nodesApi.createFolder(folder1File, '-my-')).entry.id;
|
||||||
|
folderXFilesId = (await nodesApi.createFolder(folderXFiles, '-my-')).entry.id;
|
||||||
|
folderXFilesAndFoldersId = (await nodesApi.createFolder(folderXFilesAndFolders, '-my-')).entry.id;
|
||||||
|
folderInsideFolderId = (await nodesApi.createFolder(folderInsideFolder, folderXFilesAndFoldersId)).entry.id;
|
||||||
|
folderInLibraryId = (await nodesApi.createFolder(folderInLibrary, docLibId)).entry.id;
|
||||||
|
folderForSearchId = (await nodesApi.createFolder(folderForSearch, '-my-')).entry.id;
|
||||||
|
folderNested1Id = (await nodesApi.createFolder(folderNested1, '-my-')).entry.id;
|
||||||
|
folderNested2Id = (await nodesApi.createFolder(folderNested2, folderNested1Id)).entry.id;
|
||||||
|
folderNested3Id = (await nodesApi.createFolder(folderNested3, folderNested2Id)).entry.id;
|
||||||
|
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file1, folder1FileId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file2, folderXFilesId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file3, folderXFilesId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file4, folderXFilesId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file5, folderXFilesAndFoldersId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file6, folderXFilesAndFoldersId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file7, folderXFilesAndFoldersId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file8, folderInsideFolderId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file9, folderInsideFolderId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file10, folderInLibraryId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file11, folderForSearchId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file12, folderForSearchId);
|
||||||
|
await fileActionsApi.uploadFileWithRename(TEST_FILES.DOCX.path, file13, folderNested3Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
test.beforeEach(async ({ loginPage }) => {
|
||||||
|
await Utils.tryLoginUser(loginPage, username, username, 'Main beforeEach failed');
|
||||||
|
});
|
||||||
|
|
||||||
|
test.afterAll(async () => {
|
||||||
|
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed');
|
||||||
|
});
|
||||||
|
|
||||||
|
async function checkFolderInformation(
|
||||||
|
page: PersonalFilesPage | MyLibrariesPage | SearchPage,
|
||||||
|
folderName: string,
|
||||||
|
expectedSize: string,
|
||||||
|
location: string,
|
||||||
|
isEmptyFolder?: 'isEmpty'
|
||||||
|
) {
|
||||||
|
await page.dataTable.selectItems(folderName);
|
||||||
|
await page.acaHeader.clickMoreActions();
|
||||||
|
await page.matMenu.clickMenuItem('Folder Information');
|
||||||
|
await expect(async () => {
|
||||||
|
expect(await page.folderInformationDialog.folderSize.textContent()).toContain(expectedSize);
|
||||||
|
}).toPass({
|
||||||
|
intervals: [1_000],
|
||||||
|
timeout: 5_000
|
||||||
|
});
|
||||||
|
if (!isEmptyFolder) {
|
||||||
|
expect(await page.folderInformationDialog.getFolderSizeNumber()).toBeGreaterThan(0);
|
||||||
|
}
|
||||||
|
expect(await page.folderInformationDialog.folderLocation.textContent()).toContain(location);
|
||||||
|
expect(await page.folderInformationDialog.folderCreationDate.textContent()).toContain('ago');
|
||||||
|
expect(await page.folderInformationDialog.folderModifiedDate.textContent()).toContain('ago');
|
||||||
|
await page.folderInformationDialog.doneButton.click();
|
||||||
|
await page.folderInformationDialog.folderName.waitFor({ state: 'hidden' });
|
||||||
|
}
|
||||||
|
|
||||||
|
test('[XAT-17722] Folder information Empty folder size and number of documents as 0', async ({ personalFiles }) => {
|
||||||
|
await personalFiles.navigate();
|
||||||
|
await checkFolderInformation(personalFiles, emptyFolder, '0 bytes for 0 files', `/Company Home/User Homes/${username}`, 'isEmpty');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('[XAT-17715] Folder information correct folder size and number of documents - single file', async ({ personalFiles }) => {
|
||||||
|
await personalFiles.navigate();
|
||||||
|
await checkFolderInformation(personalFiles, folder1File, 'for 1 files', `/Company Home/User Homes/${username}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('[XAT-17752] Folder information correct folder size and number of documents - multiple files', async ({ personalFiles }) => {
|
||||||
|
await personalFiles.navigate();
|
||||||
|
await checkFolderInformation(personalFiles, folderXFiles, 'for 3 files', `/Company Home/User Homes/${username}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('[XAT-17753] Folder information correct folder size and number of documents - folder and files', async ({ personalFiles }) => {
|
||||||
|
await personalFiles.navigate();
|
||||||
|
await checkFolderInformation(personalFiles, folderXFilesAndFolders, 'for 5 files', `/Company Home/User Homes/${username}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('[XAT-17758] Folder information correct folder size and number of documents - from libraries', async ({ myLibrariesPage }) => {
|
||||||
|
await myLibrariesPage.navigate();
|
||||||
|
await myLibrariesPage.dataTable.getRowByName(libraryForFolder).dblclick();
|
||||||
|
await checkFolderInformation(myLibrariesPage, folderInLibrary, 'for 1 files', `/Company Home/Sites/${libraryForFolder}/documentLibrary`);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('[XAT-17759] Folder information correct folder size and number of documents - from search', async ({ personalFiles, searchPage }) => {
|
||||||
|
await personalFiles.navigate();
|
||||||
|
await searchPage.searchWithin(folderForSearch, 'folders');
|
||||||
|
await checkFolderInformation(searchPage, folderForSearch, 'for 2 files', `/Company Home/User Homes/${username}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('[XAT-17766] Folder information correct folder size and number of documents - nested folders', async ({ personalFiles }) => {
|
||||||
|
await personalFiles.navigate();
|
||||||
|
await personalFiles.dataTable.getRowByName(folderNested1).dblclick();
|
||||||
|
await personalFiles.dataTable.getRowByName(folderNested2).dblclick();
|
||||||
|
await checkFolderInformation(
|
||||||
|
personalFiles,
|
||||||
|
folderNested3,
|
||||||
|
'for 1 files',
|
||||||
|
`/Company Home/User Homes/${username}/${folderNested1}/${folderNested2}`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../../tsconfig.adf.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../../out-tsc/e2e",
|
||||||
|
"baseUrl": "./",
|
||||||
|
"module": "commonjs",
|
||||||
|
"target": "es2017",
|
||||||
|
"types": ["jasmine", "jasminewd2", "node"],
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"paths": {
|
||||||
|
"@alfresco/aca-playwright-shared": ["dist/@alfresco/aca-playwright-shared"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exclude": ["node_modules"]
|
||||||
|
}
|
15
e2e/playwright/folder-information-actions/tsconfig.e2e.json
Executable file
15
e2e/playwright/folder-information-actions/tsconfig.e2e.json
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../../out-tsc/e2e",
|
||||||
|
"baseUrl": "./",
|
||||||
|
"module": "commonjs",
|
||||||
|
"target": "es2017",
|
||||||
|
"types": ["jasmine", "jasminewd2", "node", "@playwright/test"],
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"paths": {
|
||||||
|
"@alfresco/aca-playwright-shared": ["dist/@alfresco/aca-playwright-shared"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exclude": ["node_modules"]
|
||||||
|
}
|
@ -0,0 +1,49 @@
|
|||||||
|
/*!
|
||||||
|
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
||||||
|
*
|
||||||
|
* Alfresco Example Content Application
|
||||||
|
*
|
||||||
|
* This file is part of the Alfresco Example Content Application.
|
||||||
|
* If the software was purchased under a paid Alfresco license, the terms of
|
||||||
|
* the paid license agreement will prevail. Otherwise, the software is
|
||||||
|
* provided under the following open source license terms:
|
||||||
|
*
|
||||||
|
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Page } from '@playwright/test';
|
||||||
|
import { BaseComponent } from '../base.component';
|
||||||
|
|
||||||
|
export class FolderInformationDialogComponent extends BaseComponent {
|
||||||
|
private static readonly rootElement = '[data-automation-id="adf-dialog-container"]';
|
||||||
|
|
||||||
|
constructor(page: Page) {
|
||||||
|
super(page, FolderInformationDialogComponent.rootElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
folderName = this.getChild('.aca-folder-info-header');
|
||||||
|
doneButton = this.getChild('[data-automation-id="adf-dialog-actions-confirm"]');
|
||||||
|
folderSize = this.getChild('[data-automation-id="folder-info-size"]');
|
||||||
|
folderLocation = this.getChild('[data-automation-id="folder-info-location"]');
|
||||||
|
folderCreationDate = this.getChild('[data-automation-id="folder-info-creation-date"]');
|
||||||
|
folderModifiedDate = this.getChild('[data-automation-id="folder-info-modify-date"]');
|
||||||
|
|
||||||
|
async getFolderSizeNumber(): Promise<number> {
|
||||||
|
const textContent = await this.folderSize.textContent();
|
||||||
|
if (!textContent) {
|
||||||
|
throw new Error('Folder size text content is null or undefined');
|
||||||
|
}
|
||||||
|
return parseInt(textContent.split(' ')[0].replace(/,/g, ''), 10);
|
||||||
|
}
|
||||||
|
}
|
@ -36,4 +36,4 @@ export * from './upload-dialog.component';
|
|||||||
export * from './delete-trash-dialog.component';
|
export * from './delete-trash-dialog.component';
|
||||||
export * from './link-rules.component';
|
export * from './link-rules.component';
|
||||||
export * from './edit-dialog.component';
|
export * from './edit-dialog.component';
|
||||||
export * from './manage-versions-dialog.component';
|
export * from './folder-information-dialog.component';
|
||||||
|
@ -36,7 +36,8 @@ import {
|
|||||||
Breadcrumb,
|
Breadcrumb,
|
||||||
SidenavComponent,
|
SidenavComponent,
|
||||||
CreateFromTemplateDialogComponent,
|
CreateFromTemplateDialogComponent,
|
||||||
AdfConfirmDialogComponent
|
AdfConfirmDialogComponent,
|
||||||
|
FolderInformationDialogComponent
|
||||||
} from '../components';
|
} from '../components';
|
||||||
|
|
||||||
export class MyLibrariesPage extends BasePage {
|
export class MyLibrariesPage extends BasePage {
|
||||||
@ -58,6 +59,7 @@ export class MyLibrariesPage extends BasePage {
|
|||||||
public contentNodeSelector = new ContentNodeSelectorDialog(this.page);
|
public contentNodeSelector = new ContentNodeSelectorDialog(this.page);
|
||||||
public createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
|
public createFromTemplateDialogComponent = new CreateFromTemplateDialogComponent(this.page);
|
||||||
public confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
public confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
||||||
|
public folderInformationDialog = new FolderInformationDialogComponent(this.page);
|
||||||
|
|
||||||
async selectCreateLibrary(): Promise<void> {
|
async selectCreateLibrary(): Promise<void> {
|
||||||
await this.acaHeader.createButton.click();
|
await this.acaHeader.createButton.click();
|
||||||
|
@ -45,7 +45,8 @@ import {
|
|||||||
ManageVersionsDialog,
|
ManageVersionsDialog,
|
||||||
UploadDialog,
|
UploadDialog,
|
||||||
SnackBarComponent,
|
SnackBarComponent,
|
||||||
EditDialog
|
EditDialog,
|
||||||
|
FolderInformationDialogComponent
|
||||||
} from '../components';
|
} from '../components';
|
||||||
|
|
||||||
export class PersonalFilesPage extends BasePage {
|
export class PersonalFilesPage extends BasePage {
|
||||||
@ -76,6 +77,7 @@ export class PersonalFilesPage extends BasePage {
|
|||||||
public uploadDialog = new UploadDialog(this.page);
|
public uploadDialog = new UploadDialog(this.page);
|
||||||
public snackBar = new SnackBarComponent(this.page);
|
public snackBar = new SnackBarComponent(this.page);
|
||||||
public editDialog = new EditDialog(this.page);
|
public editDialog = new EditDialog(this.page);
|
||||||
|
public folderInformationDialog = new FolderInformationDialogComponent(this.page);
|
||||||
|
|
||||||
async selectCreateFolder(): Promise<void> {
|
async selectCreateFolder(): Promise<void> {
|
||||||
await this.acaHeader.createButton.click();
|
await this.acaHeader.createButton.click();
|
||||||
|
@ -38,7 +38,8 @@ import {
|
|||||||
SearchFiltersDate,
|
SearchFiltersDate,
|
||||||
SearchFiltersLocation,
|
SearchFiltersLocation,
|
||||||
SearchFiltersLogic,
|
SearchFiltersLogic,
|
||||||
SearchFiltersProperties
|
SearchFiltersProperties,
|
||||||
|
FolderInformationDialogComponent
|
||||||
} from '../components';
|
} from '../components';
|
||||||
import { AcaHeader } from '../components/aca-header.component';
|
import { AcaHeader } from '../components/aca-header.component';
|
||||||
import { AdfConfirmDialogComponent, AdfFolderDialogComponent, UploadNewVersionDialog, ManageVersionsDialog } from '../components/dialogs';
|
import { AdfConfirmDialogComponent, AdfFolderDialogComponent, UploadNewVersionDialog, ManageVersionsDialog } from '../components/dialogs';
|
||||||
@ -71,6 +72,7 @@ export class SearchPage extends BasePage {
|
|||||||
public confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
public confirmDialogComponent = new AdfConfirmDialogComponent(this.page);
|
||||||
public uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
|
public uploadNewVersionDialog = new UploadNewVersionDialog(this.page);
|
||||||
public manageVersionsDialog = new ManageVersionsDialog(this.page);
|
public manageVersionsDialog = new ManageVersionsDialog(this.page);
|
||||||
|
public folderInformationDialog = new FolderInformationDialogComponent(this.page);
|
||||||
|
|
||||||
async searchWithin(searchText: string, searchType?: SearchType): Promise<void> {
|
async searchWithin(searchText: string, searchType?: SearchType): Promise<void> {
|
||||||
await this.acaHeader.searchButton.click();
|
await this.acaHeader.searchButton.click();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user