mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACS-9102] Local ACS deployment for E2Es (#4324)
* [ACS-9102] Local ACS deployment draft * [ACS-9102] Move ACS deployment to composite action * [ACS-9102] Remove obsolete checks * [ACS-9102] Proper secrets for ACS deployment * [ACS-9102] Add required shell property * [ACS-9102] Use fixed acs deployment version * [ACS-9102] Proper acs deployment tag * [ACS-9102] Add required shell property * [ACS-9102] Fix helm install params * [ACS-9102] Remove obsolete checkout * [ACS-9102] Use more powerful runner for E2Es * [ACS-9102] Introduce temp secrets * test curl localhost * skip n-1 matrix jobs * test ipv4 first * [ACS-9102] Adjust Playwright E2E host * [ACS-9102] Bring back matrix job * disable unnecessary acs components * debug ingress after tests run * [ACS-9102] Fix folder-rules test suite * [ACS-9102] Fix part of viewer test suite * [ACS-9102] Additional E2E fixes * [ACS-9102] fixes for e2es -> empty-list and search * [ACS-9102] more fixes for e2es and github actions artifacts added for easier debugging * [ACS-9102] removed artifacts from GHA * print all logs * [ACS-9102] Remove outdated secrets * [ACS-9102] Remove after-e2e action * do not wait for reindexing * test on latest runner * Always debug ingress logs * avoid sleep waiting for app startup * cleanup unnecessary action input type * fixup indent * test with latest acs alpha * Revert "do not wait for reindexing" This reverts commit 86ca54de33a6b5bf1da65202caac5798b5f88d51. * [ACS-9102] Exclude unstable test cases * [ACS-9102] Exclude unstable test cases * [ACS-9102] Exclude unstable test cases --------- Co-authored-by: Giovanni Toraldo <giovanni.toraldo@hyland.com> Co-authored-by: Adam Świderski <adam.tomasz.swiderski@gmail.com>
This commit is contained in:
@@ -147,19 +147,19 @@ export class RulesApi {
|
||||
{
|
||||
actionDefinitionId: 'add-features',
|
||||
params: {
|
||||
'aspect-name': 'sc:controlsAreClearance'
|
||||
'aspect-name': 'cm:auditable'
|
||||
}
|
||||
},
|
||||
{
|
||||
actionDefinitionId: 'add-features',
|
||||
params: {
|
||||
'aspect-name': 'sfdc:objectModel'
|
||||
'aspect-name': 'app:configurable'
|
||||
}
|
||||
},
|
||||
{
|
||||
actionDefinitionId: 'add-features',
|
||||
params: {
|
||||
'aspect-name': 'sfdc:folder'
|
||||
'aspect-name': 'exif:exif'
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -224,10 +224,6 @@ export class ActionTypes {
|
||||
actionDefinitionId: 'specialise-type',
|
||||
params: { 'type-name': 'sys:base' }
|
||||
});
|
||||
static readonly RECORDABLEVERSION = new ActionTypes('RECORDABLEVERSION', {
|
||||
actionDefinitionId: 'recordable-version-config',
|
||||
params: { version: 'ALL' }
|
||||
});
|
||||
static readonly SETPROPERTYVALUE = new ActionTypes('SETPROPERTYVALUE', {
|
||||
actionDefinitionId: 'set-property-value',
|
||||
params: { property: 'dl:ganttPercentComplete', value: 'test' }
|
||||
@@ -235,7 +231,6 @@ export class ActionTypes {
|
||||
static readonly actions = [
|
||||
ActionTypes.ADDFEATURES.value,
|
||||
ActionTypes.CHECKIN.value,
|
||||
ActionTypes.RECORDABLEVERSION.value,
|
||||
ActionTypes.SPECIALISETYPE.value,
|
||||
ActionTypes.SETPROPERTYVALUE.value
|
||||
];
|
||||
|
@@ -60,6 +60,7 @@ export class ActionsDropdownComponent extends BaseComponent {
|
||||
private actionAspectNameLocator = '[data-automation-id="header-aspect-name"] .adf-property-field';
|
||||
private actionCheckInInputLocator = '[data-automation-id="header-description"] input';
|
||||
private actionAutoDeclareLocator = '[data-automation-id="header-version"] mat-select';
|
||||
private actionSpecialiseTypeLocator = '[data-automation-id="header-type-name"] mat-select';
|
||||
private actionSimpleWorkflowStepInputLocator = '[data-automation-id="header-approve-step"] input';
|
||||
private actionSimpleWorkflowApproveFolderLocator = `[data-automation-id="header-approve-folder"] mat-icon`;
|
||||
private actionSimpleWorkflowActionChoiceLocator = '[data-automation-id="content-node-selector-actions-choose"]';
|
||||
@@ -98,6 +99,10 @@ export class ActionsDropdownComponent extends BaseComponent {
|
||||
await this.dropdownSelection(autoDeclareOptionsValue, this.actionAutoDeclareLocator, index);
|
||||
}
|
||||
|
||||
async insertSpecialiseTypeActionValues(specialiseTypeValue: string, index: number): Promise<void> {
|
||||
await this.dropdownSelection(specialiseTypeValue, this.actionSpecialiseTypeLocator, index);
|
||||
}
|
||||
|
||||
async insertSimpleWorkflowActionValues(stepValue: string, index: number): Promise<void> {
|
||||
await this.ruleActionLocator.nth(index).locator(this.actionSimpleWorkflowStepInputLocator).fill(stepValue);
|
||||
await this.ruleActionLocator.nth(index).locator(this.actionSimpleWorkflowApproveFolderLocator).click();
|
||||
|
@@ -61,7 +61,7 @@ export class ViewerComponent extends BaseComponent {
|
||||
async waitForViewerToOpen(waitForViewerContent?: 'wait for viewer content'): Promise<void> {
|
||||
await this.viewerLocator.waitFor({ state: 'visible', timeout: timeouts.medium });
|
||||
if (waitForViewerContent) {
|
||||
await this.spinnerWaitForReload();
|
||||
await this.waitForViewerLoaderToFinish();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,6 +94,7 @@ export class ViewerComponent extends BaseComponent {
|
||||
|
||||
async getFileTitle(): Promise<string> {
|
||||
await this.fileTitleButtonLocator.waitFor({ state: 'visible', timeout: timeouts.normal });
|
||||
await this.waitForViewerLoaderToFinish();
|
||||
return this.fileTitleButtonLocator.textContent();
|
||||
}
|
||||
|
||||
|
@@ -179,4 +179,19 @@ export class Utils {
|
||||
static trimArrayElements(arr: string[]): string[] {
|
||||
return arr.map((element) => element.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for a specific API response.
|
||||
*
|
||||
* @param page - The Playwright page object.
|
||||
* @param urlSubstring - The substring to look for in the URL.
|
||||
* @param statusCode - The expected status code of the response.
|
||||
*/
|
||||
static async waitForApiResponse(
|
||||
contentPage: LoginPage | MyLibrariesPage | PersonalFilesPage | FavoritesLibrariesPage | SearchPage | SharedPage | TrashPage,
|
||||
urlSubstring: string,
|
||||
statusCode: number
|
||||
) {
|
||||
await contentPage.page.waitForResponse((response) => response.url().includes(urlSubstring) && response.status() === statusCode);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user