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