mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACS-5585] add direct api-client-factory call in tests (#3323)
This commit is contained in:
@@ -35,7 +35,7 @@ const config: PlaywrightTestConfig<CustomConfig> = {
|
||||
name: 'Folder Rules',
|
||||
testDir: './src/tests',
|
||||
use: {
|
||||
users: ['admin']
|
||||
users: ['hruser']
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@@ -23,10 +23,11 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ActionType, getUserState, test } from '@alfresco/playwright-shared';
|
||||
import { ActionType, ApiClientFactory, getUserState, test } from '@alfresco/playwright-shared';
|
||||
|
||||
test.use({ storageState: getUserState('admin') });
|
||||
test.use({ storageState: getUserState('hruser') });
|
||||
test.describe('Folder Rules Actions', () => {
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
const randomFolderName = `playwright-folder-${(Math.random() + 1).toString(36).substring(6)}`;
|
||||
const randomRuleName = `playwright-rule-${(Math.random() + 1).toString(36).substring(6)}`;
|
||||
const checkInValue = 'check In Value';
|
||||
@@ -36,8 +37,9 @@ test.describe('Folder Rules Actions', () => {
|
||||
|
||||
let folderId: string;
|
||||
|
||||
test.beforeAll(async ({ superAdminApiClient }) => {
|
||||
const node = await superAdminApiClient.nodes.createNode('-my-', { name: randomFolderName, nodeType: 'cm:folder', relativePath: '/' });
|
||||
test.beforeAll(async () => {
|
||||
await apiClientFactory.setUpAcaBackend('hruser');
|
||||
const node = await apiClientFactory.nodes.createNode('-my-', { name: randomFolderName, nodeType: 'cm:folder' });
|
||||
folderId = node.entry.id;
|
||||
});
|
||||
|
||||
@@ -45,8 +47,8 @@ test.describe('Folder Rules Actions', () => {
|
||||
await personalFiles.navigate({ waitUntil: 'domcontentloaded' });
|
||||
});
|
||||
|
||||
test.afterAll(async ({ superAdminApiClient }) => {
|
||||
await superAdminApiClient.nodes.deleteNode(folderId);
|
||||
test.afterAll(async () => {
|
||||
await apiClientFactory.nodes.deleteNode(folderId);
|
||||
});
|
||||
|
||||
test('[C691637] Create a rule with actions', async ({ personalFiles, nodesPage }) => {
|
||||
|
@@ -23,18 +23,20 @@
|
||||
*/
|
||||
|
||||
import { expect } from '@playwright/test';
|
||||
import { ActionType, Comparator, Field, getUserState, test } from '@alfresco/playwright-shared';
|
||||
import { ActionType, ApiClientFactory, Comparator, Field, getUserState, test } from '@alfresco/playwright-shared';
|
||||
|
||||
test.use({ storageState: getUserState('admin') });
|
||||
test.use({ storageState: getUserState('hruser') });
|
||||
test.describe('Folder Rules Conditions', () => {
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
const randomFolderName = `playwright-folder-${(Math.random() + 1).toString(36).substring(6)}`;
|
||||
const randomRuleName = `playwright-rule-${(Math.random() + 1).toString(36).substring(6)}`;
|
||||
const specialChars = '!@£$%^&*()~#/';
|
||||
|
||||
let folderId: string;
|
||||
|
||||
test.beforeAll(async ({ superAdminApiClient }) => {
|
||||
const node = await superAdminApiClient.nodes.createNode('-my-', { name: randomFolderName, nodeType: 'cm:folder', relativePath: '/' });
|
||||
test.beforeAll(async () => {
|
||||
await apiClientFactory.setUpAcaBackend('hruser');
|
||||
const node = await apiClientFactory.nodes.createNode('-my-', { name: randomFolderName, nodeType: 'cm:folder' });
|
||||
folderId = node.entry.id;
|
||||
});
|
||||
|
||||
@@ -42,8 +44,8 @@ test.describe('Folder Rules Conditions', () => {
|
||||
await personalFiles.navigate();
|
||||
});
|
||||
|
||||
test.afterAll(async ({ superAdminApiClient }) => {
|
||||
await superAdminApiClient.nodes.deleteNode(folderId);
|
||||
test.afterAll(async () => {
|
||||
await apiClientFactory.nodes.deleteNode(folderId);
|
||||
});
|
||||
|
||||
test('[C691638] Create a rule with condition', async ({ personalFiles, nodesPage }) => {
|
||||
|
@@ -22,27 +22,29 @@
|
||||
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { getUserState, test } from '@alfresco/playwright-shared';
|
||||
import { ApiClientFactory, getUserState, test } from '@alfresco/playwright-shared';
|
||||
|
||||
test.use({ storageState: getUserState('admin') });
|
||||
test.use({ storageState: getUserState('hruser') });
|
||||
test.describe('Rules - Manage Rules', () => {
|
||||
const apiClientFactory = new ApiClientFactory();
|
||||
const randomName = `playwright-folder-${(Math.random() + 1).toString(36).substring(6)}`;
|
||||
const randomRuleName = `playwright-rule-${(Math.random() + 1).toString(36).substring(6)}`;
|
||||
|
||||
let folderId: string;
|
||||
|
||||
test.beforeAll(async ({ superAdminApiClient }) => {
|
||||
const node = await superAdminApiClient.nodes.createNode('-my-', { name: randomName, nodeType: 'cm:folder', relativePath: '/' });
|
||||
test.beforeAll(async () => {
|
||||
await apiClientFactory.setUpAcaBackend('hruser');
|
||||
const node = await apiClientFactory.nodes.createNode('-my-', { name: randomName, nodeType: 'cm:folder' });
|
||||
folderId = node.entry.id;
|
||||
await superAdminApiClient.createRandomRule(folderId, randomRuleName);
|
||||
await apiClientFactory.createRandomRule(folderId, randomRuleName);
|
||||
});
|
||||
|
||||
test.beforeEach(async ({ personalFiles }) => {
|
||||
await personalFiles.navigate();
|
||||
});
|
||||
|
||||
test.afterAll(async ({ superAdminApiClient }) => {
|
||||
await superAdminApiClient.nodes.deleteNode(folderId);
|
||||
test.afterAll(async () => {
|
||||
await apiClientFactory.nodes.deleteNode(folderId);
|
||||
});
|
||||
|
||||
test('[C691651] Disable an existing rule', async ({ personalFiles, nodesPage }) => {
|
||||
|
@@ -24,28 +24,18 @@
|
||||
|
||||
|
||||
import { test as base } from '@playwright/test';
|
||||
import { ApiClientFactory, NodesPage, PersonalFilesPage } from '../';
|
||||
import { NodesPage, PersonalFilesPage } from '../';
|
||||
|
||||
interface Pages {
|
||||
personalFiles: PersonalFilesPage;
|
||||
nodesPage: NodesPage;
|
||||
}
|
||||
|
||||
interface Api {
|
||||
superAdminApiClient: ApiClientFactory;
|
||||
}
|
||||
|
||||
export const test = base.extend<Pages & Api>({
|
||||
export const test = base.extend<Pages>({
|
||||
personalFiles: async ({ page }, use) => {
|
||||
await use(new PersonalFilesPage(page));
|
||||
},
|
||||
nodesPage: async ({ page }, use) => {
|
||||
await use(new NodesPage(page));
|
||||
},
|
||||
// eslint-disable-next-line no-empty-pattern
|
||||
superAdminApiClient: async ({ }, use) => {
|
||||
const apiClient = new ApiClientFactory();
|
||||
await apiClient.setUpAcaBackend('admin');
|
||||
await use(apiClient);
|
||||
}
|
||||
});
|
||||
|
@@ -75,6 +75,7 @@ export class ActionsDropdownComponent extends BaseComponent {
|
||||
await this.addActionButtonLocator.click();
|
||||
}
|
||||
await this.actionDropdownLocator.nth(index).click();
|
||||
await this.spinnerWaitForReload();
|
||||
const option = this.getOptionLocator(action);
|
||||
await option.click();
|
||||
}
|
||||
|
@@ -24,6 +24,7 @@
|
||||
|
||||
import { Locator, Page } from '@playwright/test';
|
||||
import { PlaywrightBase } from '../playwright-base';
|
||||
import { timeouts } from '../../utils';
|
||||
|
||||
export abstract class BaseComponent extends PlaywrightBase {
|
||||
private readonly rootElement: string;
|
||||
@@ -55,8 +56,8 @@ export abstract class BaseComponent extends PlaywrightBase {
|
||||
|
||||
async spinnerWaitForReload(): Promise<void> {
|
||||
try {
|
||||
await this.page.locator('mat-progress-spinner').waitFor({ state: 'attached', timeout: 2000 });
|
||||
await this.page.locator('mat-progress-spinner').waitFor({ state: 'detached', timeout: 2000 });
|
||||
await this.page.locator('mat-progress-spinner').waitFor({ state: 'attached', timeout: timeouts.short });
|
||||
await this.page.locator('mat-progress-spinner').waitFor({ state: 'detached', timeout: timeouts.normal });
|
||||
} catch (e) {
|
||||
this.logger.info('Spinner was not present');
|
||||
}
|
||||
|
Reference in New Issue
Block a user