Skip to content

Commit

Permalink
[ACS-8688] export playwright shared lib (#4068)
Browse files Browse the repository at this point in the history
* [ACS-8688] export playwright shared lib

* [ACS-8688] changes name

* [ACS-8688] changes name

* [ACS-8688] add lint file and fix lint issue

* [ACS-8688] test fix

* added ng package file
  • Loading branch information
akashrathod28 authored Sep 3, 2024
1 parent 14bb6b3 commit 56c2c55
Show file tree
Hide file tree
Showing 66 changed files with 406 additions and 295 deletions.
3 changes: 2 additions & 1 deletion .github/actions/publish-libs/npm-publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ fi

export PROJECTS=(
'aca-content'
'aca-shared'
'aca-shared',
'aca-playwright-shared'
);

for PROJECT in ${PROJECTS[@]}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ fi

export PROJECTS=(
'aca-content'
'aca-shared'
'aca-shared',
'aca-playwright-shared'
);

for PROJECT in ${PROJECTS[@]}
Expand Down
2 changes: 1 addition & 1 deletion app/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ if (environment.production) {
enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule);
void platformBrowserDynamic().bootstrapModule(AppModule);
6 changes: 4 additions & 2 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"package.json"
],
"words": [
"Hyland",
"ADDFEATURES",
"afts",
"androidamw",
Expand All @@ -20,6 +19,7 @@
"folderlink",
"formcontrolname",
"hruser",
"Hyland",
"iosamw",
"mobileapps",
"mysites",
Expand All @@ -31,14 +31,16 @@
"qshare",
"repo",
"reportportal",
"sfdc",
"sharedlinks",
"sidenav",
"simpletask",
"succes",
"textitem",
"thumbnailed",
"versionable",
"sfdc"
"любимый",
"сайт"
],
"dictionaries": [
"html",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,9 @@ test.describe('Unshare a file from Search Results', () => {
await apiClientFactory.createUser({ username });
nodesApi = await NodesApi.initialize(username, username);
trashcanApi = await TrashcanApi.initialize(username, username);
sitesApi = await SitesApi.initialize(username, username);
sitesApi = await SitesApi.initialize('admin');
const nodesApiAdmin = await NodesApi.initialize('admin');
const shareApiAdmin = await SharedLinksApi.initialize('admin');
const shareApi = await SharedLinksApi.initialize(username, username);
const filesAction = await FileActionsApi.initialize(username, username);
parentId = (await nodesApi.createFolder(parent)).entry.id;
Expand All @@ -84,13 +86,13 @@ test.describe('Unshare a file from Search Results', () => {
await sitesApi.createSite(sitePrivate, Site.VisibilityEnum.PRIVATE);
const docLibId = await sitesApi.getDocLibId(sitePrivate);

const fileSite1Id = (await nodesApi.createFile(fileSite1, docLibId)).entry.id;
fileSite2Id = (await nodesApi.createFile(fileSite2, docLibId)).entry.id;
const fileSite1Id = (await nodesApiAdmin.createFile(fileSite1, docLibId)).entry.id;
fileSite2Id = (await nodesApiAdmin.createFile(fileSite2, docLibId)).entry.id;

await sitesApi.addSiteMember(sitePrivate, username, Site.RoleEnum.SiteConsumer);

await shareApi.shareFilesByIds([fileSite1Id]);
await shareApi.waitForFilesToBeShared([fileSite1Id]);
await shareApiAdmin.shareFilesByIds([fileSite1Id]);
await shareApiAdmin.waitForFilesToBeShared([fileSite1Id]);

await shareApi.shareFilesByIds([file1Id, file2Id, file3Id, file4Id, fileSite2Id]);
await shareApi.waitForFilesToBeShared([file1Id, file2Id, file3Id, file4Id, fileSite2Id]);
Expand Down
17 changes: 17 additions & 0 deletions projects/aca-playwright-shared/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const path = require('path');
module.exports = {
extends: '../../.eslintrc.json',
ignorePatterns: ['!**/*'],
overrides: [
{
files: ['*.ts'],
parserOptions: {
project: [path.join(__dirname, 'tsconfig.lib.json'), path.join(__dirname, 'tsconfig.spec.json')],
createDefaultProgram: true
},
rules: {
'no-console': ['error', {'allow': ['info', 'log', 'warn', 'error'] }]
}
}
]
};
6 changes: 6 additions & 0 deletions projects/aca-playwright-shared/ng-package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"dest": "../../dist/@alfresco/aca-playwright-shared",
"lib": {
"entryFile": "src/index.ts"
}
}
2 changes: 1 addition & 1 deletion projects/aca-playwright-shared/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "aca-playwright-shared",
"name": "@alfresco/aca-playwright-shared",
"version": "3.0.0",
"license": "LGPL-3.0",
"main": "src/index.ts",
Expand Down
25 changes: 23 additions & 2 deletions projects/aca-playwright-shared/project.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,28 @@
{
"name": "playwright-shared",
"name": "aca-playwright-shared",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "projects/aca-playwright-shared/src",
"projectType": "library",
"prefix": "lib"
"prefix": "lib",
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:ng-packagr",
"options": {
"tsConfig": "projects/aca-playwright-shared/tsconfig.lib.json",
"project": "projects/aca-playwright-shared/ng-package.json"
},
"configurations": {
"production": {
"tsConfig": "projects/aca-playwright-shared/tsconfig.lib.prod.json"
}
},
"defaultConfiguration": "production",
"outputs": [
"{workspaceRoot}/dist/@alfresco/aca-playwright-shared"
]
},
"lint": {
"executor": "@angular-eslint/builder:lint"
}
}
}
8 changes: 4 additions & 4 deletions projects/aca-playwright-shared/src/api/categories-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/

import { ApiClientFactory } from './api-client-factory';
Expand All @@ -40,7 +40,7 @@ export class CategoriesApi {

async createCategory(categoryId: string, categoryBodyCreate: CategoryBody[], opts?: CategoryQuery): Promise<CategoryPaging | CategoryEntry> {
try {
return await this.apiService.categoriesApi.createSubcategories(categoryId, categoryBodyCreate, opts);
return this.apiService.categoriesApi.createSubcategories(categoryId, categoryBodyCreate, opts);
} catch (error) {
console.error(error);
return null;
Expand All @@ -49,7 +49,7 @@ export class CategoriesApi {

async deleteCategory(categoryId: string): Promise<void> {
if (categoryId === null) {
console.log('categoryId is null, skipping deletion');
console.error('categoryId is null, skipping deletion');
return;
}

Expand All @@ -66,7 +66,7 @@ export class CategoriesApi {
opts?: CategoryQuery
): Promise<CategoryPaging | CategoryEntry> {
try {
return await this.apiService.categoriesApi.linkNodeToCategory(nodeId, categoryLinkBodyCreate, opts);
return this.apiService.categoriesApi.linkNodeToCategory(nodeId, categoryLinkBodyCreate, opts);
} catch (error) {
console.error(`${this.constructor.name} ${this.linkNodeToCategory.name}: ${error}`);
return null;
Expand Down
12 changes: 6 additions & 6 deletions projects/aca-playwright-shared/src/api/favorites-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/

import { ApiClientFactory } from './api-client-factory';
Expand All @@ -38,15 +38,15 @@ export class FavoritesPageApi {
return classObj;
}
async addFavoriteById(nodeType: 'file' | 'folder' | 'site', id: string): Promise<FavoriteEntry> {
let guid = nodeType === 'site' ? (await this.apiService.sites.getSite(id)).entry.guid : id;
const guid = nodeType === 'site' ? (await this.apiService.sites.getSite(id)).entry.guid : id;
const data = {
target: {
[nodeType]: {
guid: guid
}
}
};
return await this.apiService.favorites.createFavorite('-me-', data);
return this.apiService.favorites.createFavorite('-me-', data);
}

async addFavoritesByIds(nodeType: 'file' | 'folder' | 'site', ids: string[]): Promise<FavoriteEntry[]> {
Expand All @@ -64,7 +64,7 @@ export class FavoritesPageApi {

private async getFavorites(username: string): Promise<FavoritePaging> {
try {
return await this.apiService.favorites.listFavorites(username);
return this.apiService.favorites.listFavorites(username);
} catch {
return new FavoritePaging();
}
Expand All @@ -89,7 +89,7 @@ export class FavoritesPageApi {
return Promise.resolve(isFavorite);
}
};
return await Utils.retryCall(favorite);
return Utils.retryCall(favorite);
} catch (error) {}
return isFavorite;
}
Expand All @@ -112,7 +112,7 @@ export class FavoritesPageApi {
return Promise.resolve(totalItems);
}
};
return await Utils.retryCall(favoriteFiles);
return Utils.retryCall(favoriteFiles);
} catch {}
}

Expand Down
14 changes: 7 additions & 7 deletions projects/aca-playwright-shared/src/api/file-actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/

import * as fs from 'fs';
Expand All @@ -43,7 +43,7 @@ export class FileActionsApi {

async uploadFile(fileLocation: string, fileName: string, parentFolderId: string): Promise<NodeEntry> {
const file = fs.createReadStream(fileLocation);
return await this.apiService.upload.uploadFile(file, '', parentFolderId, null, {
return this.apiService.upload.uploadFile(file, '', parentFolderId, null, {
name: fileName,
nodeType: 'cm:content',
renditions: 'doclib'
Expand Down Expand Up @@ -71,7 +71,7 @@ export class FileActionsApi {
};

try {
return await this.apiService.upload.uploadFile(file, '', parentId, nodeProps, opts);
return this.apiService.upload.uploadFile(file, '', parentId, nodeProps, opts);
} catch (error) {
return Promise.reject(error);
}
Expand All @@ -87,7 +87,7 @@ export class FileActionsApi {

async getNodeById(id: string): Promise<NodeEntry | null> {
try {
return await this.apiService.nodes.getNode(id);
return this.apiService.nodes.getNode(id);
} catch {
return null;
}
Expand Down Expand Up @@ -126,7 +126,7 @@ export class FileActionsApi {
return Promise.resolve(isLocked);
}
};
return await Utils.retryCall(locked, data.retry);
return Utils.retryCall(locked, data.retry);
} catch {}
return isLocked;
}
Expand All @@ -141,7 +141,7 @@ export class FileActionsApi {
};

try {
return await this.apiService.search.search(data);
return this.apiService.search.search(data);
} catch {
return new ResultSetPaging();
}
Expand Down Expand Up @@ -172,7 +172,7 @@ export class FileActionsApi {
comment: comment,
name: newName
};
return await this.apiService.nodes.updateNodeContent(nodeId, content, opts);
return this.apiService.nodes.updateNodeContent(nodeId, content, opts);
} catch (error) {
console.error(`${this.constructor.name} ${this.updateNodeContent.name}`, error);
return Promise.reject(error);
Expand Down
5 changes: 2 additions & 3 deletions projects/aca-playwright-shared/src/api/node-content-tree.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/

import { NodeBodyCreate } from '@alfresco/js-api';
Expand All @@ -41,9 +41,8 @@ export function flattenNodeContentTree(content: NodeContentTree, relativePath: s
const { name, files, folders, title, description } = content;
const aspectNames: string[] = ['cm:versionable'];
let data: NodeBodyCreate[] = [];
let properties: any;

properties = {
const properties = {
[NODE_TITLE]: title,
[NODE_DESCRIPTION]: description
};
Expand Down
Loading

0 comments on commit 56c2c55

Please sign in to comment.