[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 } from './api-client-factory';
import { FavoriteEntry, FavoritePaging } from '@alfresco/js-api';
import { Logger } from '@alfresco/adf-testing';
import { Utils } from '../utils';
export class FavoritesPageApi {
@@ -59,26 +58,22 @@ export class FavoritesPageApi {
favorites.push(favorite);
}
}
} catch (error) {
Logger.error(`FavoritesApi addFavoritesByIds : catch : `, error);
}
} catch {}
return favorites;
}
private async getFavorites(username: string): Promise<FavoritePaging> {
try {
return await this.apiService.favorites.listFavorites(username);
} catch (error) {
Logger.error(`FavoritesApi getFavorites : catch : `, error);
return new FavoritePaging;
} catch {
return new FavoritePaging();
}
}
async isFavorite(username: string, nodeId: string): Promise<boolean> {
try {
return JSON.stringify((await this.getFavorites(username)).list.entries).includes(nodeId);
} catch (error) {
Logger.error(`FavoritesApi isFavorite : catch : `, error);
} catch {
return false;
}
}
@@ -102,8 +97,7 @@ export class FavoritesPageApi {
async getFavoritesTotalItems(username: string): Promise<number> {
try {
return (await this.apiService.favorites.listFavorites(username)).list.pagination.totalItems;
} catch (error) {
Logger.error(`FavoritesApi getFavoritesTotalItems : catch : `, error);
} catch {
return -1;
}
}
@@ -119,9 +113,6 @@ export class FavoritesPageApi {
}
};
return await Utils.retryCall(favoriteFiles);
} catch (error) {
Logger.error(`FavoritesApi waitForApi : catch : `);
Logger.error(`\tExpected: ${data.expect} items, but found ${error}`);
}
} catch {}
}
}

View File

@@ -25,8 +25,8 @@
import * as fs from 'fs';
import { ApiClientFactory } from './api-client-factory';
import { Utils } from '../utils';
import { ApiUtil, Logger } from '@alfresco/adf-testing';
import { NodeBodyCreate, NodeEntry, ResultSetPaging } from '@alfresco/js-api';
import { waitForApi } from '@alfresco/aca-testing-shared';
export class FileActionsApi {
private apiService: ApiClientFactory;
@@ -73,7 +73,6 @@ export class FileActionsApi {
try {
return await this.apiService.upload.uploadFile(file, '', parentId, nodeProps, opts);
} catch (error) {
Logger.error(`${this.constructor.name} ${this.uploadFileWithRename.name}`, error);
return Promise.reject(error);
}
}
@@ -83,16 +82,13 @@ export class FileActionsApi {
for (const nodeId of nodeIds) {
await this.apiService.nodes.lockNode(nodeId, { type: lockType });
}
} catch (error) {
Logger.error(`${this.constructor.name} ${this.lockNodes.name}`, error);
}
} catch {}
}
async getNodeById(id: string): Promise<NodeEntry | null> {
try {
return await this.apiService.nodes.getNode(id);
} catch (error) {
Logger.error(`${this.constructor.name} ${this.getNodeById.name}`, error);
} catch {
return null;
}
}
@@ -101,8 +97,7 @@ export class FileActionsApi {
try {
const node = await this.getNodeById(nodeId);
return node.entry.properties?.[property] || '';
} catch (error) {
Logger.error(`${this.constructor.name} ${this.getNodeProperty.name}`, error);
} catch {
return '';
}
}
@@ -111,8 +106,7 @@ export class FileActionsApi {
try {
const lockType = await this.getNodeProperty(nodeId, 'cm:lockType');
return lockType || '';
} catch (error) {
Logger.error(`${this.constructor.name} ${this.getLockType.name}`, error);
} catch {
return '';
}
}
@@ -133,9 +127,7 @@ export class FileActionsApi {
}
};
return await Utils.retryCall(locked, data.retry);
} catch (error) {
Logger.error(`${this.constructor.name} ${this.isFileLockedWriteWithRetry.name}`, error);
}
} catch {}
return isLocked;
}
@@ -150,8 +142,7 @@ export class FileActionsApi {
try {
return await this.apiService.search.search(data);
} catch (error) {
Logger.error(`SearchApi queryNodesNames : catch : `, error);
} catch {
return new ResultSetPaging();
}
}
@@ -168,11 +159,8 @@ export class FileActionsApi {
};
try {
await ApiUtil.waitForApi(apiCall, predicate, 30, 2500);
} catch (error) {
Logger.error(`SearchApi waitForNodes : catch : `);
Logger.error(`\tExpected: ${data.expect} items, but found ${error}`);
}
await waitForApi(apiCall, predicate, 30, 2500);
} catch {}
}
async updateNodeContent(nodeId: string, content: string, majorVersion: boolean = true, comment?: string, newName?: string): Promise<NodeEntry> {

View File

@@ -23,7 +23,6 @@
*/
import { ApiClientFactory } from './api-client-factory';
import { Logger } from '@alfresco/adf-testing';
import { Utils } from '../utils';
import { ResultSetPaging } from '@alfresco/js-api';
@@ -54,14 +53,13 @@ export class SearchPageApi {
try {
return await this.apiService.search.search(data);
} catch (error) {
Logger.error(`SearchApi queryRecentFiles : catch : `, error);
return new ResultSetPaging;
} catch {
return new ResultSetPaging();
}
}
async getTotalItems(username: string): Promise<number> {
return (await this.querySearchFiles(username)).list.pagination.totalItems;
return (await this.querySearchFiles(username)).list.pagination.totalItems;
}
async waitForApi(username: string, data: { expect: number }) {
@@ -76,9 +74,6 @@ export class SearchPageApi {
};
return await Utils.retryCall(searchFiles);
} catch (error) {
Logger.error(`SearchApi waitForApi : catch : `);
Logger.error(`\tExpected: ${data.expect} items, but found ${error}`);
}
} catch {}
}
}

View File

@@ -22,13 +22,22 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { StringUtil } from '@alfresco/adf-testing';
const LOWER_CASE_ALPHA = 'helloworld';
function generateRandomCharset(length: number = 8, charSet: string): string {
let text = '';
for (let i = 0; i < length; i++) {
text += charSet.charAt(Math.floor(Math.random() * charSet.length));
}
return text;
}
export class UserModel {
firstName?: string = StringUtil.generateRandomCharset(length, LOWER_CASE_ALPHA)(7);
lastName?: string = StringUtil.generateRandomCharset(length, LOWER_CASE_ALPHA)(7);
password?: string = StringUtil.generateRandomCharset(length, LOWER_CASE_ALPHA)(7);
firstName?: string = generateRandomCharset(7, LOWER_CASE_ALPHA);
lastName?: string = generateRandomCharset(7, LOWER_CASE_ALPHA);
password?: string = generateRandomCharset(7, LOWER_CASE_ALPHA);
email?: string;
username?: string;
idIdentityService?: string;
@@ -42,7 +51,7 @@ export class UserModel {
this.firstName = details.firstName ?? this.firstName;
this.lastName = details.lastName ?? this.lastName;
const USER_IDENTIFY = `${this.firstName}${this.lastName}.${StringUtil.generateRandomCharset(length, LOWER_CASE_ALPHA)(7)}`;
const USER_IDENTIFY = `${this.firstName}${this.lastName}.${generateRandomCharset(7, LOWER_CASE_ALPHA)}`;
this.password = details.password ?? this.password;
this.email = details.email ?? `${USER_IDENTIFY}@${EMAIL_DOMAIN}.com`;

View File

@@ -64,9 +64,6 @@ export class LoginPage extends BasePage {
async isPasswordDisplayed(): Promise<boolean> {
const type = await this.password.getAttribute('type');
if (type === 'text') {
return true;
}
return false;
return type === 'text';
}
}

View File

@@ -22,8 +22,8 @@
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/
import { GenericLogger, LoggerLike } from '@alfresco/adf-testing';
import { Page } from '@playwright/test';
import { GenericLogger, LoggerLike } from '@alfresco/aca-testing-shared';
export abstract class PlaywrightBase {
public page: Page;