mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACS-7298] beforeEach and afterAll updated for list-views (#3734)
* [ACS-7298] beforeEach and afterAll updated for list-views * [ACS-7298] 'only' deleted
This commit is contained in:
@@ -23,11 +23,12 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ApiClientFactory, LoginPage, NodesApi, Utils, test, SitesApi, FavoritesPageApi, timeouts } from '@alfresco/playwright-shared';
|
||||
import { ApiClientFactory, NodesApi, Utils, test, SitesApi, FavoritesPageApi, timeouts, TrashcanApi } from '@alfresco/playwright-shared';
|
||||
import { Site } from '@alfresco/js-api';
|
||||
|
||||
test.describe('Favorites Files', () => {
|
||||
let nodesApi: NodesApi;
|
||||
let trashcanApi: TrashcanApi;
|
||||
let siteActionsAdmin: SitesApi;
|
||||
const username = `user-${Utils.random()}`;
|
||||
const siteName = `site-${Utils.random()}`;
|
||||
@@ -45,6 +46,7 @@ test.describe('Favorites Files', () => {
|
||||
await apiClientFactory.setUpAcaBackend('admin');
|
||||
await apiClientFactory.createUser({ username });
|
||||
nodesApi = await NodesApi.initialize(username, username);
|
||||
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
const nodesApiAdmin = await NodesApi.initialize('admin');
|
||||
siteActionsAdmin = await SitesApi.initialize('admin');
|
||||
const favoritesActions = await FavoritesPageApi.initialize(username, username);
|
||||
@@ -75,20 +77,12 @@ test.describe('Favorites Files', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
});
|
||||
|
||||
test.afterAll(async () => {
|
||||
await nodesApi.deleteCurrentUserNodes();
|
||||
await siteActionsAdmin.deleteSites([siteName]);
|
||||
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteActionsAdmin, [siteName]);
|
||||
});
|
||||
|
||||
test.describe(`Regular user's Favorites files`, () => {
|
||||
|
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ApiClientFactory, FavoritesPageApi, LoginPage, SitesApi, Utils, test, timeouts } from '@alfresco/playwright-shared';
|
||||
import { ApiClientFactory, FavoritesPageApi, SitesApi, Utils, test, timeouts } from '@alfresco/playwright-shared';
|
||||
import { Site } from '@alfresco/js-api';
|
||||
|
||||
test.describe('File Libraries', () => {
|
||||
@@ -88,15 +88,8 @@ test.describe('File Libraries', () => {
|
||||
});
|
||||
|
||||
test.describe('My Libraries', () => {
|
||||
test.beforeEach(async ({ page, myLibrariesPage }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage, myLibrariesPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
await myLibrariesPage.navigate();
|
||||
});
|
||||
|
||||
@@ -142,15 +135,8 @@ test.describe('File Libraries', () => {
|
||||
});
|
||||
|
||||
test.describe('Favorite Libraries', () => {
|
||||
test.beforeEach(async ({ page, favoritesLibrariesPage }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage, favoritesLibrariesPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
await favoritesLibrariesPage.navigate();
|
||||
});
|
||||
|
||||
|
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ApiClientFactory, LoginPage, NodesApi, TrashcanApi, Utils, test } from '@alfresco/playwright-shared';
|
||||
import { ApiClientFactory, NodesApi, TrashcanApi, Utils, test } from '@alfresco/playwright-shared';
|
||||
|
||||
test.describe('Generic errors', () => {
|
||||
const username = `user-${Utils.random()}`;
|
||||
@@ -52,15 +52,8 @@ test.describe('Generic errors', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
});
|
||||
|
||||
test.afterAll(async () => {
|
||||
|
@@ -74,15 +74,8 @@ test.describe('Special permissions', () => {
|
||||
await shareApiUser.waitForFilesToBeShared([fileId]);
|
||||
});
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
});
|
||||
|
||||
test.afterEach(async () => {
|
||||
|
@@ -23,10 +23,11 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { APP_ROUTES, ApiClientFactory, LoginPage, NodesApi, SIDEBAR_LABELS, Utils, test } from '@alfresco/playwright-shared';
|
||||
import { APP_ROUTES, ApiClientFactory, NodesApi, SIDEBAR_LABELS, Utils, test, TrashcanApi } from '@alfresco/playwright-shared';
|
||||
|
||||
test.describe('Personal Files', () => {
|
||||
let nodesApi: NodesApi;
|
||||
let trashcanApi: TrashcanApi;
|
||||
const username = `user-${Utils.random()}`;
|
||||
const userFolder = `user-folder-${Utils.random()}`;
|
||||
|
||||
@@ -36,6 +37,7 @@ test.describe('Personal Files', () => {
|
||||
await apiClientFactory.setUpAcaBackend('admin');
|
||||
await apiClientFactory.createUser({ username });
|
||||
nodesApi = await NodesApi.initialize(username, username);
|
||||
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
await nodesApi.createFolder(userFolder);
|
||||
} catch (error) {
|
||||
console.error(`beforeAll failed : ${error}`);
|
||||
@@ -43,19 +45,12 @@ test.describe('Personal Files', () => {
|
||||
});
|
||||
|
||||
test.afterAll(async () => {
|
||||
await nodesApi.deleteCurrentUserNodes();
|
||||
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed');
|
||||
});
|
||||
|
||||
test.describe(`Regular user's personal files`, () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
});
|
||||
|
||||
test('[C217142] has the correct columns', async ({ personalFiles }) => {
|
||||
@@ -65,6 +60,7 @@ test.describe('Personal Files', () => {
|
||||
});
|
||||
|
||||
test('[C217143] has default sorted column', async ({ personalFiles }) => {
|
||||
await Utils.reloadPageIfDatatableEmpty(personalFiles);
|
||||
expect(await personalFiles.dataTable.getSortedColumnHeaderText()).toBe('Name');
|
||||
});
|
||||
|
||||
|
@@ -23,19 +23,18 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ApiClientFactory, LoginPage, NodesApi, SearchPageApi, SitesApi, TrashcanApi, Utils, test, timeouts } from '@alfresco/playwright-shared';
|
||||
import { ApiClientFactory, NodesApi, SearchPageApi, SitesApi, TrashcanApi, Utils, test, timeouts } from '@alfresco/playwright-shared';
|
||||
import { Site } from '@alfresco/js-api';
|
||||
|
||||
test.describe('Recent Files', () => {
|
||||
let nodeActionsUser: NodesApi;
|
||||
let siteActionsUser: SitesApi;
|
||||
let trashcanApi: TrashcanApi;
|
||||
const username = `user-${Utils.random()}`;
|
||||
|
||||
const folderName = `folder-${Utils.random()}`;
|
||||
let folderId: string;
|
||||
const fileName1 = `file-${Utils.random()}.txt`;
|
||||
const fileName2 = `file-${Utils.random()}.txt`;
|
||||
let file2Id: string;
|
||||
const fileName3 = `file-${Utils.random()}.txt`;
|
||||
|
||||
const siteName = `site-${Utils.random()}`;
|
||||
@@ -49,10 +48,11 @@ test.describe('Recent Files', () => {
|
||||
await apiClientFactory.createUser({ username });
|
||||
nodeActionsUser = await NodesApi.initialize(username, username);
|
||||
siteActionsUser = await SitesApi.initialize(username, username);
|
||||
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
|
||||
folderId = (await nodeActionsUser.createFolder(folderName)).entry.id;
|
||||
await nodeActionsUser.createFolder(folderName);
|
||||
await nodeActionsUser.createFiles([fileName1], folderName);
|
||||
file2Id = (await nodeActionsUser.createFile(fileName2)).entry.id;
|
||||
await nodeActionsUser.createFile(fileName2);
|
||||
const id = (await nodeActionsUser.createFile(fileName3)).entry.id;
|
||||
|
||||
await nodeActionsUser.deleteNodes([id], false);
|
||||
@@ -66,23 +66,13 @@ test.describe('Recent Files', () => {
|
||||
await searchApi.waitForApi(username, { expect: 3 });
|
||||
});
|
||||
|
||||
test.beforeEach(async ({ page, recentFilesPage }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage, recentFilesPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
await recentFilesPage.navigate();
|
||||
});
|
||||
|
||||
test.afterAll(async () => {
|
||||
await nodeActionsUser.deleteNodes([folderId, file2Id]);
|
||||
await siteActionsUser.deleteSites([siteName]);
|
||||
const trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
await trashcanApi.emptyTrashcan();
|
||||
await Utils.deleteNodesSitesEmptyTrashcan(nodeActionsUser, trashcanApi, 'afterAll failed', siteActionsUser, [siteName]);
|
||||
});
|
||||
|
||||
test('[C213168] has the correct columns', async ({ recentFilesPage }) => {
|
||||
|
@@ -23,12 +23,13 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ApiClientFactory, LoginPage, NodesApi, Utils, test, SitesApi, timeouts, SharedLinksApi } from '@alfresco/playwright-shared';
|
||||
import { ApiClientFactory, NodesApi, Utils, test, SitesApi, timeouts, SharedLinksApi, TrashcanApi } from '@alfresco/playwright-shared';
|
||||
import { Site } from '@alfresco/js-api';
|
||||
|
||||
test.describe('Shared Files', () => {
|
||||
let nodesApi: NodesApi;
|
||||
let siteActionsAdmin: SitesApi;
|
||||
let trashcanApi: TrashcanApi;
|
||||
|
||||
const username = `user-${Utils.random()}`;
|
||||
const siteName = `site-${Utils.random()}`;
|
||||
@@ -48,6 +49,7 @@ test.describe('Shared Files', () => {
|
||||
const nodesApiAdmin = await NodesApi.initialize('admin');
|
||||
const shareActionsAdmin = await SharedLinksApi.initialize('admin');
|
||||
nodesApi = await NodesApi.initialize(username, username);
|
||||
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
const shareActions = await SharedLinksApi.initialize(username, username);
|
||||
|
||||
await siteActionsAdmin.createSite(siteName, Site.VisibilityEnum.PUBLIC);
|
||||
@@ -73,21 +75,13 @@ test.describe('Shared Files', () => {
|
||||
await shareActions.waitForFilesToNotBeShared([file2Id, file3Id]);
|
||||
});
|
||||
|
||||
test.beforeEach(async ({ page, sharedPage }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage, sharedPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
await sharedPage.navigate();
|
||||
});
|
||||
|
||||
test.afterAll(async () => {
|
||||
await siteActionsAdmin.deleteSites([siteName]);
|
||||
await nodesApi.deleteCurrentUserNodes();
|
||||
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteActionsAdmin, [siteName]);
|
||||
});
|
||||
|
||||
test('[C213113] has the correct columns', async ({ sharedPage }) => {
|
||||
|
@@ -23,19 +23,21 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ApiClientFactory, NodesApi, Utils, getUserState, test, LoginPage, users } from '@alfresco/playwright-shared';
|
||||
import { ApiClientFactory, NodesApi, Utils, getUserState, test, TrashcanApi, users } from '@alfresco/playwright-shared';
|
||||
|
||||
test.use({ storageState: getUserState('admin') });
|
||||
test.describe('Trash admin', () => {
|
||||
const folderAdmin = `deleteFolder-${Utils.random()}`;
|
||||
let folderAdminId: string;
|
||||
let adminApiActions: NodesApi;
|
||||
let adminTrashcanApi: TrashcanApi;
|
||||
|
||||
test.beforeAll(async () => {
|
||||
try {
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
await apiClientFactory.setUpAcaBackend('admin');
|
||||
adminApiActions = await NodesApi.initialize('admin');
|
||||
adminTrashcanApi = await TrashcanApi.initialize('admin');
|
||||
folderAdminId = (await adminApiActions.createFolder(folderAdmin)).entry.id;
|
||||
await adminApiActions.deleteNodeById(folderAdminId, false);
|
||||
} catch (error) {
|
||||
@@ -44,22 +46,11 @@ test.describe('Trash admin', () => {
|
||||
});
|
||||
|
||||
test.afterAll(async () => {
|
||||
try {
|
||||
await adminApiActions.deleteDeletedNode(folderAdminId);
|
||||
} catch (error) {
|
||||
console.error(`----- afterAll failed : ${error}`);
|
||||
}
|
||||
await Utils.deleteNodesSitesEmptyTrashcan(adminApiActions, adminTrashcanApi, '----- afterAll failed : ');
|
||||
});
|
||||
|
||||
test.beforeEach(async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username: users.admin.username, password: users.admin.password },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
test.beforeEach(async ({ loginPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, users.admin.username, users.admin.password, 'beforeEach failed');
|
||||
});
|
||||
|
||||
test.describe('as admin', () => {
|
||||
|
@@ -23,12 +23,13 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ApiClientFactory, LoginPage, NodesApi, SitesApi, Utils, test } from '@alfresco/playwright-shared';
|
||||
import { ApiClientFactory, NodesApi, SitesApi, Utils, test, TrashcanApi } from '@alfresco/playwright-shared';
|
||||
import { Site } from '@alfresco/js-api';
|
||||
|
||||
test.describe('Trash', () => {
|
||||
let nodesApi: NodesApi;
|
||||
let siteActionsAdmin: SitesApi;
|
||||
let trashcanApi: TrashcanApi;
|
||||
|
||||
const username = `user-${Utils.random()}`;
|
||||
const siteName = `site-${Utils.random()}`;
|
||||
@@ -45,6 +46,7 @@ test.describe('Trash', () => {
|
||||
await apiClientFactory.createUser({ username });
|
||||
siteActionsAdmin = await SitesApi.initialize('admin');
|
||||
nodesApi = await NodesApi.initialize(username, username);
|
||||
trashcanApi = await TrashcanApi.initialize(username, username);
|
||||
const nodesApiAdmin = await NodesApi.initialize('admin');
|
||||
const folderDeleted = `folder-${Utils.random()}`;
|
||||
|
||||
@@ -66,27 +68,12 @@ test.describe('Trash', () => {
|
||||
});
|
||||
|
||||
test.afterAll(async () => {
|
||||
try {
|
||||
await nodesApi.deleteCurrentUserNodes();
|
||||
await siteActionsAdmin.deleteSites([siteName]);
|
||||
} catch (error) {
|
||||
console.error(`Main afterAll failed: ${error}`);
|
||||
}
|
||||
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'Main afterAll failed: ', siteActionsAdmin, [siteName]);
|
||||
});
|
||||
|
||||
test.describe(`Regular user's personal files`, () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
await loginPage.loginUser(
|
||||
{ username, password: username },
|
||||
{
|
||||
withNavigation: true,
|
||||
waitForLoading: true
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
test.beforeEach(async ({ trashPage }) => {
|
||||
test.beforeEach(async ({ loginPage, trashPage }) => {
|
||||
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed');
|
||||
await trashPage.navigate();
|
||||
});
|
||||
|
||||
|
@@ -24,7 +24,7 @@
|
||||
|
||||
const crypto = require('crypto');
|
||||
import * as path from 'path';
|
||||
import { LoginPage, MyLibrariesPage, PersonalFilesPage, FavoritesLibrariesPage, SearchPage, SharedPage } from '../';
|
||||
import { LoginPage, MyLibrariesPage, PersonalFilesPage, FavoritesLibrariesPage, SearchPage, SharedPage, TrashPage } from '../';
|
||||
import { NodesApi, TrashcanApi, SitesApi } from '@alfresco/playwright-shared';
|
||||
|
||||
export class Utils {
|
||||
@@ -102,7 +102,7 @@ export class Utils {
|
||||
static async reloadPageIfRowNotVisible(
|
||||
pageContext: PersonalFilesPage | MyLibrariesPage | FavoritesLibrariesPage | SearchPage | SharedPage,
|
||||
nodeName: string,
|
||||
errorMessage = 'Error '
|
||||
errorMessage = 'reloadPageIfRowNotVisible Error '
|
||||
): Promise<void> {
|
||||
try {
|
||||
if (!await pageContext.dataTable.getRowByName(nodeName).isVisible()) {
|
||||
@@ -112,4 +112,17 @@ export class Utils {
|
||||
console.error(`${errorMessage}: ${error}`);
|
||||
}
|
||||
}
|
||||
|
||||
static async reloadPageIfDatatableEmpty(
|
||||
pageContext: PersonalFilesPage | MyLibrariesPage | FavoritesLibrariesPage | SearchPage | SharedPage | TrashPage,
|
||||
errorMessage = 'reloadPageIfDatatableEmpty Error '
|
||||
): Promise<void> {
|
||||
try {
|
||||
if (await pageContext.dataTable.getEmptyFolderLocator.isVisible() || await pageContext.dataTable.emptyListTitle.isVisible()) {
|
||||
await pageContext.page.reload({ waitUntil: 'load' });
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`${errorMessage}: ${error}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user