[ACS-6572] break dependency on adf-testing (#3594)

* remove Logger dependency

* remove BrowserVisibility dependency

* remove BrowserActions dependency

* remove ViewerPage dependency

* remove ApiUtil dependency

* remove StringUtil dependency

* remove adf-testing dependency

* bug fixes
This commit is contained in:
Denys Vuika
2024-01-11 09:02:58 -05:00
committed by GitHub
parent 09aba59b06
commit dbe724552f
61 changed files with 871 additions and 538 deletions

View File

@@ -24,7 +24,6 @@
import { ApiClientFactory, test, Utils, PersonalFilesPage, NodesApi, LoginPage } from '@alfresco/playwright-shared';
import { expect } from '@playwright/test';
import { Logger } from '@alfresco/adf-testing';
test.describe('Copy actions', () => {
let nodesApi: NodesApi;
@@ -45,17 +44,13 @@ test.describe('Copy actions', () => {
await apiClientFactory.setUpAcaBackend('admin');
await apiClientFactory.createUser({ username });
nodesApi = await NodesApi.initialize(username, username);
} catch (error) {
Logger.error(`beforeAll failed : ${error}`);
}
} catch {}
});
test.afterAll(async ({ nodesApiAction }) => {
try {
await nodesApiAction.deleteCurrentUserNodes();
} catch (error) {
Logger.error(`afterAll failed : ${error}`);
}
} catch {}
});
test.beforeEach(async ({ personalFiles, page }) => {
@@ -79,9 +74,7 @@ test.describe('Copy actions', () => {
sourceFileId = (await nodesApi.createFile(sourceFile)).entry.id;
await personalFiles.navigate();
} catch (error) {
Logger.error(`beforeEach failed : ${error}`);
}
} catch {}
});
const copyContentInPersonalFiles = async (personalFilesPage: PersonalFilesPage, sourceFileList: string[], destinationName: string) => {

View File

@@ -25,7 +25,6 @@
import { ApiClientFactory, MyLibrariesPage, NodesApi, SitesApi, test, Utils } from '@alfresco/playwright-shared';
import { expect } from '@playwright/test';
import { Site } from '@alfresco/js-api';
import { Logger } from '@alfresco/adf-testing';
test.describe('Copy Move actions', () => {
let nodesApi: NodesApi;
@@ -63,18 +62,14 @@ test.describe('Copy Move actions', () => {
await nodesApi.createFile(sourceFile, docLibId);
await nodesApi.createFolder(destinationFolder, docLibId);
} catch (error) {
Logger.error(`beforeAll failed : ${error}`);
}
} catch {}
});
test.afterAll(async () => {
try {
await nodesApi.deleteCurrentUserNodes();
await sitesApi.deleteSites([siteId]);
} catch (error) {
Logger.error(`afterAll failed : ${error}`);
}
} catch {}
});
const copyContentInMyLibraries = async (myLibrariesPage: MyLibrariesPage) => {

View File

@@ -24,7 +24,6 @@
import { ApiClientFactory, test, Utils, PersonalFilesPage, NodesApi, LoginPage } from '@alfresco/playwright-shared';
import { expect } from '@playwright/test';
import { Logger } from '@alfresco/adf-testing';
test.describe('Move actions', () => {
let nodesApi: NodesApi;
@@ -45,17 +44,13 @@ test.describe('Move actions', () => {
await apiClientFactory.setUpAcaBackend('admin');
await apiClientFactory.createUser({ username });
nodesApi = await NodesApi.initialize(username, username);
} catch (error) {
Logger.error(`beforeAll failed : ${error}`);
}
} catch {}
});
test.afterAll(async ({ nodesApiAction }) => {
try {
await nodesApiAction.deleteCurrentUserNodes();
} catch (error) {
Logger.error(`afterAll failed : ${error}`);
}
} catch {}
});
test.beforeEach(async ({ personalFiles, page }) => {
@@ -79,9 +74,7 @@ test.describe('Move actions', () => {
sourceFileId = (await nodesApi.createFile(sourceFile)).entry.id;
await personalFiles.navigate();
} catch (error) {
Logger.error(`beforeEach failed : ${error}`);
}
} catch {}
});
const moveContentInPersonalFiles = async (personalFilesPage: PersonalFilesPage, sourceFileList: string[], destinationName: string) => {

View File

@@ -25,7 +25,6 @@
import { expect } from '@playwright/test';
import { ApiClientFactory, FileActionsApi, LoginPage, NodesApi, SitesApi, test, TEST_FILES, Utils } from '@alfresco/playwright-shared';
import { SiteBodyCreate } from '@alfresco/js-api';
import { Logger } from '@alfresco/adf-testing';
test.describe('from File Libraries', () => {
const apiClientFactory = new ApiClientFactory();
@@ -50,9 +49,7 @@ test.describe('from File Libraries', () => {
const node = await nodesApi.createFolder(destination);
destinationId = node.entry.id;
await fileApi.uploadFile(TEST_FILES.XLSX.path, xlsxLibraries, docLibId);
} catch (error) {
Logger.error(`beforeAll failed : ${error}`);
}
} catch {}
});
test.beforeEach(async ({ page }) => {
@@ -70,9 +67,7 @@ test.describe('from File Libraries', () => {
try {
await sitesApi.deleteSites([siteName]);
await nodesApi.deleteNodes([destinationId]);
} catch (error) {
Logger.error(`afterAll failed : ${error}`);
}
} catch {}
});
test('[C286371] Move action from File Libraries', async ({ myLibrariesPage, personalFiles }) => {

View File

@@ -23,7 +23,6 @@
*/
import { AdminActions, UserActions, LoginPage, BrowsingPage, RepoClient, Utils } from '@alfresco/aca-testing-shared';
import { Logger } from '@alfresco/adf-testing';
describe('Delete and undo delete', () => {
const username = `user-${Utils.random()}`;
@@ -120,9 +119,7 @@ describe('Delete and undo delete', () => {
await userActions.unlockNodes([fileLocked1Id, fileLocked2Id, fileLocked3Id, fileLocked4Id]);
await userActions.deleteNodes([parentId]);
await userActions.emptyTrashcan();
} catch (error) {
Logger.error(`----- afterAll failed : ${error}`);
}
} catch {}
});
it('[C217125] delete a file and check notification', async () => {

View File

@@ -22,8 +22,7 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { AdminActions, UserActions, LoginPage, BrowsingPage, ConfirmDialog, RepoClient, Utils } from '@alfresco/aca-testing-shared';
import { BrowserActions } from '@alfresco/adf-testing';
import { AdminActions, UserActions, LoginPage, BrowsingPage, ConfirmDialog, RepoClient, Utils, click } from '@alfresco/aca-testing-shared';
describe('Permanently delete from Trash', () => {
const username = `user-${Utils.random()}`;
@@ -54,8 +53,8 @@ describe('Permanently delete from Trash', () => {
beforeAll(async () => {
await adminApiActions.createUser({ username });
filesIds = (await apis.user.nodes.createFiles([file1, file2, file3])).list.entries.map((entries: any) => entries.entry.id);
foldersIds = (await apis.user.nodes.createFolders([folder1, folder2])).list.entries.map((entries: any) => entries.entry.id);
filesIds = (await apis.user.nodes.createFiles([file1, file2, file3])).list.entries.map((entries) => entries.entry.id);
foldersIds = (await apis.user.nodes.createFolders([folder1, folder2])).list.entries.map((entries) => entries.entry.id);
await apis.user.sites.createSite(site);
await userActions.login(username, username);
@@ -76,9 +75,9 @@ describe('Permanently delete from Trash', () => {
it('[C217091] delete a file', async () => {
await dataTable.selectItem(file1);
await BrowserActions.click(toolbar.permanentlyDeleteButton);
await click(toolbar.permanentlyDeleteButton);
await page.waitForDialog();
await BrowserActions.click(confirmDialog.deleteButton);
await click(confirmDialog.deleteButton);
expect(await page.getSnackBarMessage()).toEqual(`${file1} deleted`);
expect(await dataTable.isItemPresent(file1)).toBe(false, 'Item was not deleted');
@@ -86,9 +85,9 @@ describe('Permanently delete from Trash', () => {
it('[C280416] delete a folder', async () => {
await dataTable.selectItem(folder1);
await BrowserActions.click(toolbar.permanentlyDeleteButton);
await click(toolbar.permanentlyDeleteButton);
await page.waitForDialog();
await BrowserActions.click(confirmDialog.deleteButton);
await click(confirmDialog.deleteButton);
expect(await page.getSnackBarMessage()).toEqual(`${folder1} deleted`);
expect(await dataTable.isItemPresent(folder1)).toBe(false, 'Item was not deleted');
@@ -96,9 +95,9 @@ describe('Permanently delete from Trash', () => {
it('[C290103] delete a library', async () => {
await dataTable.selectItem(site);
await BrowserActions.click(toolbar.permanentlyDeleteButton);
await click(toolbar.permanentlyDeleteButton);
await page.waitForDialog();
await BrowserActions.click(confirmDialog.deleteButton);
await click(confirmDialog.deleteButton);
expect(await page.getSnackBarMessage()).toEqual(`${site} deleted`);
expect(await dataTable.isItemPresent(site)).toBe(false, `${site} was not deleted`);
@@ -106,9 +105,9 @@ describe('Permanently delete from Trash', () => {
it('[C280417] delete multiple items', async () => {
await dataTable.selectMultipleItems([file2, folder2]);
await BrowserActions.click(toolbar.permanentlyDeleteButton);
await click(toolbar.permanentlyDeleteButton);
await page.waitForDialog();
await BrowserActions.click(confirmDialog.deleteButton);
await click(confirmDialog.deleteButton);
expect(await page.getSnackBarMessage()).toEqual(`2 items deleted`);
expect(await dataTable.isItemPresent(file2)).toBe(false, 'Item was not deleted');
@@ -117,7 +116,7 @@ describe('Permanently delete from Trash', () => {
it('[C269113] Confirmation dialog UI', async () => {
await dataTable.selectItem(file3);
await BrowserActions.click(toolbar.permanentlyDeleteButton);
await click(toolbar.permanentlyDeleteButton);
await page.waitForDialog();
expect(await confirmDialog.isDialogOpen()).toBe(true, 'Confirm delete dialog not open');
@@ -132,11 +131,11 @@ describe('Permanently delete from Trash', () => {
it('[C269115] Keep action cancels the deletion', async () => {
await dataTable.selectItem(file3);
await BrowserActions.click(toolbar.permanentlyDeleteButton);
await click(toolbar.permanentlyDeleteButton);
await page.waitForDialog();
expect(await confirmDialog.isKeepEnabled()).toBe(true, 'KEEP button is not enabled');
await BrowserActions.click(confirmDialog.keepButton);
await click(confirmDialog.keepButton);
expect(await dataTable.isItemPresent(file3)).toBe(true, 'Item was deleted');
});
});

View File

@@ -23,8 +23,7 @@
*/
import { browser } from 'protractor';
import { AdminActions, UserActions, LoginPage, BrowsingPage, APP_ROUTES, RepoClient, Utils } from '@alfresco/aca-testing-shared';
import { BrowserActions, Logger } from '@alfresco/adf-testing';
import { AdminActions, UserActions, LoginPage, BrowsingPage, APP_ROUTES, RepoClient, Utils, click } from '@alfresco/aca-testing-shared';
describe('Restore from Trash', () => {
const username = `user-${Utils.random()}`;
@@ -77,7 +76,7 @@ describe('Restore from Trash', () => {
it('[C217177] restore file', async () => {
await dataTable.selectItem(file);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
const text = await page.getSnackBarMessage();
expect(text).toContain(`${file} restored`);
const action = await page.getSnackBarAction();
@@ -91,7 +90,7 @@ describe('Restore from Trash', () => {
it('[C280438] restore folder', async () => {
await dataTable.selectItem(folder);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
const text = await page.getSnackBarMessage();
expect(text).toContain(`${folder} restored`);
const action = await page.getSnackBarAction();
@@ -105,7 +104,7 @@ describe('Restore from Trash', () => {
it('[C290104] restore library', async () => {
await dataTable.selectItem(site);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
const text = await page.getSnackBarMessage();
expect(text).toContain(`${site} restored`);
const action = await page.getSnackBarAction();
@@ -117,7 +116,7 @@ describe('Restore from Trash', () => {
it('[C217182] restore multiple items', async () => {
await dataTable.selectMultipleItems([file, folder]);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
const text = await page.getSnackBarMessage();
expect(text).toContain(`Restore successful`);
const action = await page.getSnackBarAction();
@@ -133,7 +132,7 @@ describe('Restore from Trash', () => {
it('[C217181] View from notification', async () => {
await dataTable.selectItem(file);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
await page.clickSnackBarAction();
await page.dataTable.waitForHeader();
expect(await page.sidenav.isActive('Personal Files')).toBe(true, 'Personal Files sidebar link not active');
@@ -181,13 +180,13 @@ describe('Restore from Trash', () => {
it('[C217178] Restore a file when another file with same name exists on the restore location', async () => {
await dataTable.selectItem(file1);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
expect(await page.getSnackBarMessage()).toEqual(`Can't restore, ${file1} already exists`);
});
it('[C217179] Restore a file when original location no longer exists', async () => {
await dataTable.selectItem(file2);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
expect(await page.getSnackBarMessage()).toEqual(`Can't restore ${file2}, the original location no longer exists`);
});
});
@@ -231,9 +230,7 @@ describe('Restore from Trash', () => {
await userActions.deleteNodes([file3Id, file4Id, folder3Id, file5Id], false);
await loginPage.loginWith(username);
} catch (error) {
Logger.error(`----- beforeAll failed : ${error}`);
}
} catch {}
});
beforeEach(async () => {
@@ -247,13 +244,13 @@ describe('Restore from Trash', () => {
it('[C217183] one failure', async () => {
await dataTable.selectMultipleItems([file1, file2]);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
expect(await page.getSnackBarMessage()).toEqual(`Can't restore ${file1}, the original location no longer exists`);
});
it('[C217184] multiple failures', async () => {
await dataTable.selectMultipleItems([file3, file4, file5]);
await BrowserActions.click(toolbar.restoreButton);
await click(toolbar.restoreButton);
expect(await page.getSnackBarMessage()).toEqual('2 items not restored because of issues with the restore location');
});
});

View File

@@ -31,9 +31,9 @@ import {
RepoClient,
CreateOrEditFolderDialog,
Utils,
clearTextWithBackspace
clearTextWithBackspace,
click
} from '@alfresco/aca-testing-shared';
import { BrowserActions } from '@alfresco/adf-testing';
describe('Edit folder', () => {
const username = `user-${Utils.random()}`;
@@ -133,7 +133,7 @@ describe('Edit folder', () => {
await dataTable.doubleClickOnRowByName(parent);
await dataTable.selectItem(folderName);
await toolbar.openMoreMenu();
await BrowserActions.click(toolbar.menu.editFolderAction);
await click(toolbar.menu.editFolderAction);
expect(await editDialog.getDialogTitle()).toEqual('Edit folder');
expect(await editDialog.getName()).toBe(folderName);
@@ -152,11 +152,11 @@ describe('Edit folder', () => {
it('[C216335] properties are modified when pressing OK', async () => {
await dataTable.selectItem(folderNameToEdit);
await toolbar.openMoreMenu();
await BrowserActions.click(toolbar.menu.editFolderAction);
await click(toolbar.menu.editFolderAction);
await editDialog.waitForDialogToOpen();
await editDialog.enterDescription(folderDescriptionEdited);
await editDialog.enterName(folderNameEdited);
await BrowserActions.click(editDialog.updateButton);
await click(editDialog.updateButton);
await editDialog.waitForDialogToClose();
await dataTable.waitForHeader();
@@ -168,7 +168,7 @@ describe('Edit folder', () => {
it('[C216332] with empty folder name', async () => {
await dataTable.selectItem(folderName);
await toolbar.openMoreMenu();
await BrowserActions.click(toolbar.menu.editFolderAction);
await click(toolbar.menu.editFolderAction);
await clearTextWithBackspace(editDialog.nameInput);
expect(await editDialog.isUpdateButtonEnabled()).toBe(false, 'upload button is not enabled');
@@ -180,7 +180,7 @@ describe('Edit folder', () => {
await dataTable.selectItem(folderName);
await toolbar.openMoreMenu();
await BrowserActions.click(toolbar.menu.editFolderAction);
await click(toolbar.menu.editFolderAction);
for (const name of namesWithSpecialChars) {
await editDialog.enterName(name);
@@ -192,7 +192,7 @@ describe('Edit folder', () => {
it('[C216334] with name ending with a dot', async () => {
await dataTable.selectItem(folderName);
await toolbar.openMoreMenu();
await BrowserActions.click(toolbar.menu.editFolderAction);
await click(toolbar.menu.editFolderAction);
await editDialog.waitForDialogToOpen();
await editDialog.nameInput.sendKeys('.');
@@ -203,7 +203,7 @@ describe('Edit folder', () => {
it('[C216336] Cancel button', async () => {
await dataTable.selectItem(folderName);
await toolbar.openMoreMenu();
await BrowserActions.click(toolbar.menu.editFolderAction);
await click(toolbar.menu.editFolderAction);
await editDialog.waitForDialogToOpen();
await editDialog.clickCancel();
@@ -213,10 +213,10 @@ describe('Edit folder', () => {
it('[C216337] with duplicate folder name', async () => {
await dataTable.selectItem(folderName);
await toolbar.openMoreMenu();
await BrowserActions.click(toolbar.menu.editFolderAction);
await click(toolbar.menu.editFolderAction);
await editDialog.waitForDialogToOpen();
await editDialog.enterName(duplicateFolderName);
await BrowserActions.click(editDialog.updateButton);
await click(editDialog.updateButton);
expect(await page.getSnackBarMessage()).toEqual(`There's already a folder with this name. Try a different name.`);
expect(await editDialog.isDialogOpen()).toBe(true, 'dialog is not present');
@@ -225,9 +225,9 @@ describe('Edit folder', () => {
it('[C216338] trim ending spaces', async () => {
await dataTable.selectItem(folderName);
await toolbar.openMoreMenu();
await BrowserActions.click(toolbar.menu.editFolderAction);
await click(toolbar.menu.editFolderAction);
await editDialog.nameInput.sendKeys(' ');
await BrowserActions.click(editDialog.updateButton);
await click(editDialog.updateButton);
await editDialog.waitForDialogToClose();
expect(await page.snackBar.isPresent()).not.toBe(true, 'notification appears');

View File

@@ -22,8 +22,7 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { AdminActions, UserActions, LoginPage, BrowsingPage, RepoClient, Utils } from '@alfresco/aca-testing-shared';
import { BrowserActions } from '@alfresco/adf-testing';
import { AdminActions, UserActions, LoginPage, BrowsingPage, RepoClient, Utils, click } from '@alfresco/aca-testing-shared';
describe('Download', () => {
const random = Utils.random();
@@ -129,14 +128,14 @@ describe('Download', () => {
it('[C213179] Download a file', async () => {
await dataTable.selectItem(filePersonal);
await BrowserActions.click(toolbar.downloadButton);
await click(toolbar.downloadButton);
expect(await Utils.fileExistsOnOS(filePersonal)).toBe(true, 'File not found in download location');
});
it('[C216352] Download a folder', async () => {
await dataTable.selectItem(folderPersonal);
await BrowserActions.click(toolbar.downloadButton);
await click(toolbar.downloadButton);
const folderZip = `${folderPersonal}.zip`;
@@ -149,7 +148,7 @@ describe('Download', () => {
it('[C216353] Download multiple items', async () => {
await dataTable.selectMultipleItems([filePersonal, folderPersonal]);
await BrowserActions.click(toolbar.downloadButton);
await click(toolbar.downloadButton);
expect(await Utils.fileExistsOnOS(archiveZip)).toBe(true, 'File not found in download location');

View File

@@ -34,7 +34,6 @@ import {
UserActions
} from '@alfresco/aca-testing-shared';
import { browser } from 'protractor';
import { Logger } from '@alfresco/adf-testing';
describe('Version actions', () => {
const random = Utils.random();
@@ -87,9 +86,7 @@ describe('Version actions', () => {
await loginPage.loginWith(username);
await dataTable.doubleClickOnRowByName(parentFolder);
await dataTable.waitForHeader();
} catch (error) {
Logger.error(`--- beforeAll failed : ${error}`);
}
} catch {}
});
afterAll(async () => {

View File

@@ -22,8 +22,7 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { AdminActions, UserActions, LoginPage, BrowsingPage, RepoClient, InfoDrawer, Utils } from '@alfresco/aca-testing-shared';
import { BrowserActions } from '@alfresco/adf-testing';
import { AdminActions, UserActions, LoginPage, BrowsingPage, RepoClient, InfoDrawer, Utils, click } from '@alfresco/aca-testing-shared';
describe('Comments', () => {
const username = `user1-${Utils.random()}`;
@@ -113,7 +112,7 @@ describe('Comments', () => {
it('[C299173] Comments tab default fields', async () => {
await dataTable.selectItem(file1);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await infoDrawer.clickCommentsTab();
@@ -137,7 +136,7 @@ describe('Comments', () => {
const myComment = 'my comment';
await dataTable.selectItem(folder2);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await infoDrawer.clickCommentsTab();
await commentsTab.typeComment(myComment);
@@ -156,7 +155,7 @@ describe('Comments', () => {
it('[C299189] Comments are displayed ordered by created date in descending order', async () => {
await dataTable.selectItem(fileWith2Comments);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await infoDrawer.clickCommentsTab();
@@ -178,7 +177,7 @@ describe('Comments', () => {
const myComment = 'my comment';
await dataTable.selectItem(file2Recent);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await infoDrawer.clickCommentsTab();
await commentsTab.typeComment(myComment);
@@ -203,7 +202,7 @@ describe('Comments', () => {
await page.clickFavoritesAndWait();
await dataTable.selectItem(fileWith1Comment);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await infoDrawer.clickCommentsTab();

View File

@@ -22,8 +22,7 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { AdminActions, LoginPage, BrowsingPage, RepoClient, InfoDrawer, Utils, FILES } from '@alfresco/aca-testing-shared';
import { BrowserActions } from '@alfresco/adf-testing';
import { AdminActions, LoginPage, BrowsingPage, RepoClient, InfoDrawer, Utils, FILES, click, rightClick } from '@alfresco/aca-testing-shared';
describe('File / Folder properties', () => {
const username = `user1-${Utils.random()}`;
@@ -87,7 +86,7 @@ describe('File / Folder properties', () => {
describe('View properties', () => {
it('[C299162] Default tabs', async () => {
await dataTable.selectItem(file1.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
expect(await infoDrawer.getHeaderTitle()).toEqual(file1.name);
@@ -98,14 +97,14 @@ describe('File / Folder properties', () => {
it('[C599174] Should be able to make the files/folders info drawer expandable as for Sites', async () => {
await dataTable.selectItem(file1.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await infoDrawer.expandDetailsButton.click();
expect(await infoDrawer.expandedDetailsPermissionsTab.isPresent()).toBe(true, 'Permissions tab is not displayed');
await page.clickPersonalFilesAndWait();
await dataTable.selectItem(parent);
await BrowserActions.rightClick(dataTable.selectedRow);
await rightClick(dataTable.selectedRow);
await dataTable.menu.clickMenuItem('Permissions');
const expectedSelectedTabTitle = 'permissions';
const actualSelectedTabTitle = await infoDrawer.selectedTab.getText();

View File

@@ -22,8 +22,19 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { AdminActions, LoginPage, BrowsingPage, RepoClient, FILES, SearchInput, DataTable, InfoDrawer } from '@alfresco/aca-testing-shared';
import { BrowserActions, ViewerPage } from '@alfresco/adf-testing';
import {
AdminActions,
LoginPage,
BrowsingPage,
RepoClient,
FILES,
SearchInput,
DataTable,
InfoDrawer,
click,
waitUntilElementIsVisible
} from '@alfresco/aca-testing-shared';
import { element, by, $$ } from 'protractor';
describe('File preview', () => {
const timestamp = new Date().getTime();
@@ -41,7 +52,6 @@ describe('File preview', () => {
const dataTable = new DataTable();
const adminApiActions = new AdminActions();
const searchInput = new SearchInput();
const viewerPage = new ViewerPage();
beforeAll(async () => {
await adminApiActions.createUser({ username });
@@ -58,13 +68,25 @@ describe('File preview', () => {
await browsingPage.clickPersonalFilesAndWait();
});
async function checkFileContent(pageNumber: string, text: string): Promise<void> {
const allPages = $$('.canvasWrapper > canvas').first();
const pageLoaded = $$('div[data-page-number="' + pageNumber + '"][data-loaded="true"]').first();
const textLayerLoaded = $$('div[data-page-number="' + pageNumber + '"] .textLayer').first();
const specificText = element.all(by.cssContainingText('div[data-page-number="' + pageNumber + '"] .textLayer', text)).first();
await waitUntilElementIsVisible(allPages);
await waitUntilElementIsVisible(pageLoaded);
await waitUntilElementIsVisible(textLayerLoaded);
await waitUntilElementIsVisible(specificText);
}
it('[C595967] Should preview document from the info drawer', async () => {
const pageNumber = '1';
const documentText = 'This is a small demonstration';
await searchInput.searchUntilResult(fileName, 'URL');
await dataTable.selectItem(fileName);
await BrowserActions.click(infoDrawer.toolbar.viewDetailsButton);
await click(infoDrawer.toolbar.viewDetailsButton);
await infoDrawer.previewButton.click();
await viewerPage.checkFileContent(pageNumber, documentText);
await checkFileContent(pageNumber, documentText);
});
});

View File

@@ -22,8 +22,7 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { AdminActions, LoginPage, BrowsingPage, RepoClient, InfoDrawer, Utils, UserActions } from '@alfresco/aca-testing-shared';
import { BrowserActions } from '@alfresco/adf-testing';
import { AdminActions, LoginPage, BrowsingPage, RepoClient, InfoDrawer, Utils, UserActions, click } from '@alfresco/aca-testing-shared';
describe('General', () => {
const username = `user1-${Utils.random()}`;
@@ -69,13 +68,13 @@ describe('General', () => {
afterEach(async () => {
if (await infoDrawer.isOpen()) {
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
}
});
it('[C268999] Info drawer closes on page refresh', async () => {
await dataTable.selectItem(file1);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
expect(await infoDrawer.isOpen()).toBe(true, 'Info drawer not open');
await page.refresh();

View File

@@ -22,8 +22,17 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { AdminActions, LoginPage, BrowsingPage, SITE_VISIBILITY, SITE_ROLES, RepoClient, InfoDrawer, Utils } from '@alfresco/aca-testing-shared';
import { BrowserActions } from '@alfresco/adf-testing';
import {
AdminActions,
LoginPage,
BrowsingPage,
SITE_VISIBILITY,
SITE_ROLES,
RepoClient,
InfoDrawer,
Utils,
click
} from '@alfresco/aca-testing-shared';
describe('Library properties', () => {
const username = `user1-${Utils.random()}`;
@@ -90,13 +99,13 @@ describe('Library properties', () => {
afterEach(async () => {
if (await infoDrawer.isOpen()) {
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
}
});
it('[C289336] Info drawer opens for a library', async () => {
await dataTable.selectItem(site.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
expect(await infoDrawer.getHeaderTitle()).toEqual(site.name);
@@ -116,7 +125,7 @@ describe('Library properties', () => {
it('[C289338] Editable properties', async () => {
await dataTable.selectItem(site.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
expect(await aboutTab.isEditLibraryPropertiesEnabled()).toBe(true, 'Edit action is not enabled');
@@ -135,7 +144,7 @@ describe('Library properties', () => {
it('[C289339] Edit site details', async () => {
await dataTable.selectItem(siteForUpdate.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
expect(await aboutTab.isEditLibraryPropertiesEnabled()).toBe(true, 'Edit action is not enabled');
@@ -162,7 +171,7 @@ describe('Library properties', () => {
const newDesc = `new desc ${Utils.random}`;
await dataTable.selectItem(site.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
expect(await aboutTab.isEditLibraryPropertiesEnabled()).toBe(true, 'Edit action is not enabled');
@@ -183,7 +192,7 @@ describe('Library properties', () => {
await apis.user.queries.waitForSites(site.name, { expect: 1 });
await dataTable.selectItem(siteDup);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await aboutTab.clickEditLibraryProperties();
@@ -194,7 +203,7 @@ describe('Library properties', () => {
it('[C289342] Site name too long', async () => {
await dataTable.selectItem(site.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await aboutTab.clickEditLibraryProperties();
@@ -207,7 +216,7 @@ describe('Library properties', () => {
it('[C289343] Site description too long', async () => {
await dataTable.selectItem(site.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await aboutTab.clickEditLibraryProperties();
@@ -235,7 +244,7 @@ describe('Library properties', () => {
await page.goToMyLibrariesAndWait();
await dataTable.selectItem(site.name);
await BrowserActions.click(page.toolbar.viewDetailsButton);
await click(page.toolbar.viewDetailsButton);
await infoDrawer.waitForInfoDrawerToOpen();
await aboutTab.clickEditLibraryProperties();

View File

@@ -31,9 +31,9 @@ import {
FILES,
SITE_VISIBILITY,
SITE_ROLES,
SizeOperator
SizeOperator,
click
} from '@alfresco/aca-testing-shared';
import { BrowserActions } from '@alfresco/adf-testing';
describe('Search filters', () => {
const random = Utils.random();
@@ -160,7 +160,7 @@ describe('Search filters', () => {
describe('Filter by File type', () => {
afterEach(async () => {
await Utils.pressEscape();
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
});
it('[C279191] Expand / Collapse the File type filter panel', async () => {
@@ -214,7 +214,7 @@ describe('Search filters', () => {
describe('Filter by People', () => {
afterEach(async () => {
await Utils.pressEscape();
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
});
it('[C279205] Expand / Collapse the People filter panel', async () => {
@@ -241,7 +241,7 @@ describe('Search filters', () => {
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await peopleFilter.getChipTitle()).toEqual(`Created by: ${user1} ${user1} `);
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
await peopleFilter.openDialog();
await peopleFilter.selectChip(`${user2} ${user2}`);
await peopleFilter.clickApplyButton();
@@ -261,7 +261,7 @@ describe('Search filters', () => {
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
expect(await peopleFilter.getChipTitle()).toEqual(`Modified by: ${user1} ${user1} `);
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
await peopleFilter.openDialog();
await peopleFilter.changeTabToModifier();
await peopleFilter.selectChip(`${user2} ${user2}`);
@@ -311,7 +311,7 @@ describe('Search filters', () => {
describe('Filter by Location', () => {
afterEach(async () => {
await Utils.pressEscape();
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
});
it('[C279230] Expand / Collapse the Location filter panel', async () => {
@@ -373,7 +373,7 @@ describe('Search filters', () => {
afterEach(async () => {
await Utils.pressEscape();
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
});
it('[C279219] Expand / Collapse the Modified date filter panel', async () => {
@@ -439,7 +439,7 @@ describe('Search filters', () => {
describe('Multiple filters', () => {
afterEach(async () => {
await Utils.pressEscape();
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
});
it('[C280051] Multiple filters can be applied', async () => {
@@ -463,7 +463,7 @@ describe('Search filters', () => {
expect(await peopleFilter.getChipTitle()).toEqual(`Created by: ${user1} ${user1} `);
expect(await locationFilter.getChipTitle()).toEqual(site);
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
expect(await dataTable.isItemPresent(filePdfUser2.name)).toBe(true, 'PDF file not displayed');
expect(await dataTable.isItemPresent(fileJpgUser1.name)).toBe(true, 'JPG file not displayed');
@@ -480,7 +480,7 @@ describe('Search filters', () => {
expect(await dataTable.getRowsCount()).toEqual(1, 'expected 1 result');
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
expect(await dataTable.getRowsCount()).toEqual(2, 'expected 2 result');
});
@@ -496,7 +496,7 @@ describe('Search filters', () => {
expect(await page.pagination.getRange()).toEqual('Showing 1-1 of 1');
await BrowserActions.click(filters.resetAllButton);
await click(filters.resetAllButton);
expect(await page.pagination.getRange()).toEqual('Showing 1-2 of 2');
});

View File

@@ -23,7 +23,6 @@
*/
import { AdminActions, LoginPage, SearchResultsPage, RepoClient, Utils, SITE_VISIBILITY, SITE_ROLES } from '@alfresco/aca-testing-shared';
import { Logger } from '@alfresco/adf-testing';
describe('Search results - libraries', () => {
const random = Utils.random();
@@ -116,18 +115,14 @@ describe('Search results - libraries', () => {
await apis.user.queries.waitForSites(random, { expect: 12 });
await loginPage.loginWith(username);
} catch (error) {
Logger.error(`----- beforeAll failed : ${error}`);
}
} catch {}
});
afterAll(async () => {
try {
await adminApiActions.sites.deleteSites([adminSite1, adminSite2, adminSite3, adminSite4, adminPrivate]);
await apis.user.sites.deleteSites([site1.id, site2.id, site3.id, site4.id, userSitePublic, userSiteModerated, userSitePrivate, siteRussian.id]);
} catch (error) {
Logger.error(`----- afterAll failed : ${error}`);
}
} catch {}
});
beforeEach(async () => {

View File

@@ -36,7 +36,6 @@ import {
UploadNewVersionDialog,
UploadFilesDialog
} from '@alfresco/aca-testing-shared';
import { Logger } from '@alfresco/adf-testing';
import { By, element } from 'protractor';
describe('Viewer actions', () => {
@@ -108,9 +107,7 @@ describe('Viewer actions', () => {
await userActions.lockNodes([fileForCancelEditingId, fileForUploadNewVersionId, fileForUploadNewVersionId2]);
await loginPage.loginWith(username);
} catch (error) {
Logger.error(`----- beforeAll failed : ${error}`);
}
} catch {}
});
beforeEach(async () => {
@@ -118,9 +115,7 @@ describe('Viewer actions', () => {
await page.clickPersonalFilesAndWait();
await dataTable.doubleClickOnRowByName(parent);
await dataTable.waitForHeader();
} catch (error) {
Logger.error(`----- beforeEach failed : ${error}`);
}
} catch {}
});
afterEach(async () => {
@@ -133,9 +128,7 @@ describe('Viewer actions', () => {
await userActions.login(username, username);
await userActions.deleteNodes([parentId, destinationId]);
await userActions.emptyTrashcan();
} catch (error) {
Logger.error(`----- afterAll failed : ${error}`);
}
} catch {}
});
it('[C297585] Cancel Editing action', async () => {
@@ -220,9 +213,7 @@ describe('Viewer actions', () => {
await apis.user.search.waitForApi(username, { expect: 7 });
await loginPage.loginWith(username);
} catch (error) {
Logger.error(`----- beforeAll failed : ${error}`);
}
} catch {}
});
beforeEach(async () => {
@@ -239,9 +230,7 @@ describe('Viewer actions', () => {
await userActions.login(username, username);
await userActions.deleteNodes([parentId, destinationId]);
await userActions.emptyTrashcan();
} catch (error) {
Logger.error(`----- afterAll failed : ${error}`);
}
} catch {}
});
it('[C286384] Copy action', async () => {
@@ -322,9 +311,7 @@ describe('Viewer actions', () => {
]);
await loginPage.loginWith(username);
} catch (error) {
Logger.error(`----- beforeAll failed : ${error}`);
}
} catch {}
});
beforeEach(async () => {
@@ -336,9 +323,7 @@ describe('Viewer actions', () => {
await page.closeOpenDialogs();
await Utils.pressEscape();
await uploadFilesDialog.closeUploadDialog();
} catch (error) {
Logger.error(`----- afterEach failed : ${error}`);
}
} catch {}
});
afterAll(async () => {
@@ -346,9 +331,7 @@ describe('Viewer actions', () => {
await userActions.login(username, username);
await userActions.deleteNodes([parentId, destinationId]);
await userActions.emptyTrashcan();
} catch (error) {
Logger.error(`----- afterAll failed : ${error}`);
}
} catch {}
});
it('[C286379] Favorite action', async () => {
@@ -404,9 +387,7 @@ describe('Viewer actions', () => {
await apis.user.favorites.waitForApi({ expect: 7 });
await loginPage.loginWith(username);
} catch (error) {
Logger.error(`----- beforeAll failed : ${error}`);
}
} catch {}
});
beforeEach(async () => {
@@ -423,9 +404,7 @@ describe('Viewer actions', () => {
await userActions.login(username, username);
await userActions.deleteNodes([parentId, destinationId]);
await userActions.emptyTrashcan();
} catch (error) {
Logger.error(`----- afterAll failed : ${error}`);
}
} catch {}
});
it('[C286395] Share action', async () => {