From 82fafff1147fe4578e39306c083dc4ddabce4ef1 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Mon, 16 Oct 2023 11:31:33 +0100 Subject: [PATCH] Remove demo shell protractor TreeView e2e (#9000) * remove protractor TreeView e2e * [ci:force] fix types * [ci:force] remove unused method --- demo-shell/src/app/app.module.ts | 2 - demo-shell/src/app/app.routes.ts | 6 - .../tree-view/tree-view-sample.component.html | 19 --- .../tree-view/tree-view-sample.component.scss | 3 - .../tree-view/tree-view-sample.component.ts | 45 ------ .../components/tree-view-component.e2e.ts | 139 ------------------ .../document-list-gallery.e2e.ts | 7 +- e2e/content-services/pages/tree-view.page.ts | 85 ----------- e2e/core/pages/navigation-bar.page.ts | 4 - 9 files changed, 6 insertions(+), 304 deletions(-) delete mode 100644 demo-shell/src/app/components/tree-view/tree-view-sample.component.html delete mode 100644 demo-shell/src/app/components/tree-view/tree-view-sample.component.scss delete mode 100644 demo-shell/src/app/components/tree-view/tree-view-sample.component.ts delete mode 100644 e2e/content-services/components/tree-view-component.e2e.ts delete mode 100644 e2e/content-services/pages/tree-view.page.ts diff --git a/demo-shell/src/app/app.module.ts b/demo-shell/src/app/app.module.ts index 62c3197dd6..cf1ee4faa3 100644 --- a/demo-shell/src/app/app.module.ts +++ b/demo-shell/src/app/app.module.ts @@ -55,7 +55,6 @@ import { MonacoEditorModule } from 'ngx-monaco-editor-v2'; import { ContentModule } from '@alfresco/adf-content-services'; import { InsightsModule } from '@alfresco/adf-insights'; import { ProcessModule } from '@alfresco/adf-process-services'; -import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component'; import { CloudLayoutComponent } from './components/cloud/cloud-layout.component'; import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component'; import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component'; @@ -120,7 +119,6 @@ import { UserInfoComponent } from './components/app-layout/user-info/user-info.c ProcessAttachmentsComponent, DemoPermissionComponent, DemoErrorComponent, - TreeViewSampleComponent, CloudLayoutComponent, AppsCloudDemoComponent, TasksCloudDemoComponent, diff --git a/demo-shell/src/app/app.routes.ts b/demo-shell/src/app/app.routes.ts index 495d94b4e2..15a00905df 100644 --- a/demo-shell/src/app/app.routes.ts +++ b/demo-shell/src/app/app.routes.ts @@ -30,7 +30,6 @@ import { FilesComponent } from './components/files/files.component'; import { FormComponent } from './components/form/form.component'; import { DemoPermissionComponent } from './components/permissions/demo-permissions.component'; import { AppComponent } from './app.component'; -import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component'; import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component'; import { CloudLayoutComponent } from './components/cloud/cloud-layout.component'; import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component'; @@ -245,11 +244,6 @@ export const appRoutes: Routes = [ component: DemoPermissionComponent, canActivate: [AuthGuardEcm] }, - { - path: 'treeview', - component: TreeViewSampleComponent, - canActivate: [AuthGuardEcm] - }, { path: 'form-cloud', component: FormCloudDemoComponent }, { path: 'form', component: FormComponent }, { diff --git a/demo-shell/src/app/components/tree-view/tree-view-sample.component.html b/demo-shell/src/app/components/tree-view/tree-view-sample.component.html deleted file mode 100644 index 8deb5aa732..0000000000 --- a/demo-shell/src/app/components/tree-view/tree-view-sample.component.html +++ /dev/null @@ -1,19 +0,0 @@ -
TREE VIEW TEST
- - - - - CLICKED NODE: {{clickedNodeName}} - - - - - - An Error Occurred - {{errorMessage}} - diff --git a/demo-shell/src/app/components/tree-view/tree-view-sample.component.scss b/demo-shell/src/app/components/tree-view/tree-view-sample.component.scss deleted file mode 100644 index ae291c9214..0000000000 --- a/demo-shell/src/app/components/tree-view/tree-view-sample.component.scss +++ /dev/null @@ -1,3 +0,0 @@ -.example-full-width { - width: 100%; -} diff --git a/demo-shell/src/app/components/tree-view/tree-view-sample.component.ts b/demo-shell/src/app/components/tree-view/tree-view-sample.component.ts deleted file mode 100644 index 78d07071db..0000000000 --- a/demo-shell/src/app/components/tree-view/tree-view-sample.component.ts +++ /dev/null @@ -1,45 +0,0 @@ -/*! - * @license - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-tree-view', - templateUrl: './tree-view-sample.component.html', - styleUrls: ['./tree-view-sample.component.scss'] -}) -export class TreeViewSampleComponent { - - clickedNodeName: string = ''; - errorMessage: string = ''; - - nodeIdSample: string = '-my-'; - - onClick(node) { - this.clickedNodeName = node.entry.name; - } - - reset() { - this.clickedNodeName = ''; - this.errorMessage = ''; - } - - onErrorOccurred(error: string) { - this.clickedNodeName = ''; - this.errorMessage = error; - } -} diff --git a/e2e/content-services/components/tree-view-component.e2e.ts b/e2e/content-services/components/tree-view-component.e2e.ts deleted file mode 100644 index 0615b7a01e..0000000000 --- a/e2e/content-services/components/tree-view-component.e2e.ts +++ /dev/null @@ -1,139 +0,0 @@ -/*! - * @license - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createApiService, LoginPage, UploadActions, UserModel, UsersActions } from '@alfresco/adf-testing'; -import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; -import { TreeViewPage } from './../pages/tree-view.page'; -import { NodesApi } from '@alfresco/js-api'; - -describe('Tree View Component', () => { - - const loginPage = new LoginPage(); - const navigationBarPage = new NavigationBarPage(); - const treeViewPage = new TreeViewPage(); - - let acsUser: UserModel; - const apiService = createApiService(); - const usersActions = new UsersActions(apiService); - const uploadActions = new UploadActions(apiService); - const nodesApi = new NodesApi(apiService.getInstance()); - - let treeFolder; let secondTreeFolder; let thirdTreeFolder; - - const nodeNames = { - folder: 'Folder1', - secondFolder: 'Folder2', - thirdFolder: 'Folder3', - parentFolder: '-my-', - document: 'MyFile' - }; - - beforeAll(async () => { - await apiService.loginWithProfile('admin'); - - acsUser = await usersActions.createUser(); - - await apiService.login(acsUser.username, acsUser.password); - - treeFolder = await nodesApi.createNode(nodeNames.parentFolder, { - name: nodeNames.folder, - nodeType: 'cm:folder' - }); - secondTreeFolder = await nodesApi.createNode(nodeNames.parentFolder, { - name: nodeNames.secondFolder, - nodeType: 'cm:folder' - }); - thirdTreeFolder = await nodesApi.createNode(secondTreeFolder.entry.id, { - name: nodeNames.thirdFolder, - nodeType: 'cm:folder' - }); - await nodesApi.createNode(thirdTreeFolder.entry.id, { - name: nodeNames.document, - nodeType: 'cm:content' - }); - - await loginPage.login(acsUser.username, acsUser.password); - - await navigationBarPage.clickTreeViewButton(); - }); - - afterAll(async () => { - await navigationBarPage.clickLogoutButton(); - - await apiService.loginWithProfile('admin'); - - await uploadActions.deleteFileOrFolder(treeFolder.entry.id); - await uploadActions.deleteFileOrFolder(secondTreeFolder.entry.id); - }); - - it('[C289972] Should be able to show folders and sub-folders of a node as a tree view', async () => { - await treeViewPage.checkTreeViewTitleIsDisplayed(); - - await expect(await treeViewPage.getNodeId()).toEqual(nodeNames.parentFolder); - - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.folder); - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.secondFolder); - - await treeViewPage.clickNode(nodeNames.secondFolder); - - await treeViewPage.checkClickedNodeName(nodeNames.secondFolder); - await treeViewPage.checkNodeIsDisplayedAsOpen(nodeNames.secondFolder); - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.thirdFolder); - - await treeViewPage.clickNode(nodeNames.thirdFolder); - - await treeViewPage.checkClickedNodeName(nodeNames.thirdFolder); - await treeViewPage.checkNodeIsDisplayedAsOpen(nodeNames.thirdFolder); - - await treeViewPage.clickNode(nodeNames.secondFolder); - - await treeViewPage.checkClickedNodeName(nodeNames.secondFolder); - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.secondFolder); - await treeViewPage.checkNodeIsNotDisplayed(nodeNames.thirdFolder); - }); - - it('[C289973] Should be able to change the default nodeId', async () => { - await treeViewPage.clearNodeIdInput(); - - await treeViewPage.checkNoNodeIdMessageIsDisplayed(); - await treeViewPage.addNodeId(secondTreeFolder.entry.id); - - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.thirdFolder); - - await treeViewPage.addNodeId('ThisIdDoesNotExist'); - await treeViewPage.checkErrorMessageIsDisplayed(); - - await treeViewPage.addNodeId(nodeNames.parentFolder); - - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.folder); - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.secondFolder); - - await treeViewPage.clickNode(nodeNames.secondFolder); - - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.thirdFolder); - }); - - it('[C290071] Should not be able to display files', async () => { - await treeViewPage.addNodeId(secondTreeFolder.entry.id); - - await treeViewPage.checkNodeIsDisplayedAsClosed(nodeNames.thirdFolder); - - await treeViewPage.clickNode(nodeNames.thirdFolder); - - await expect(await treeViewPage.getTotalNodes()).toEqual(1); - }); -}); diff --git a/e2e/content-services/document-list/document-list-gallery.e2e.ts b/e2e/content-services/document-list/document-list-gallery.e2e.ts index 717be50629..7f5705a3b1 100644 --- a/e2e/content-services/document-list/document-list-gallery.e2e.ts +++ b/e2e/content-services/document-list/document-list-gallery.e2e.ts @@ -20,6 +20,7 @@ import { browser } from 'protractor'; import { createApiService, LoginPage, StringUtil, UploadActions, UserModel, UsersActions } from '@alfresco/adf-testing'; import { FileModel } from '../../models/ACS/file.model'; import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; +import { NodeEntry } from '@alfresco/js-api'; describe('Document List Component', () => { @@ -56,7 +57,11 @@ describe('Document List Component', () => { location: browser.params.resources.Files.ADF_DOCUMENTS.DOCX.file_path }); const folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}_LOOK_AT_ME`; - let filePdfNode; let fileTestNode; let fileDocxNode; let folderNode; let filePDFSubNode; + let filePdfNode: NodeEntry; + let fileTestNode: NodeEntry; + let fileDocxNode: NodeEntry; + let folderNode: NodeEntry; + let filePDFSubNode: NodeEntry; beforeAll(async () => { await apiService.loginWithProfile('admin'); diff --git a/e2e/content-services/pages/tree-view.page.ts b/e2e/content-services/pages/tree-view.page.ts deleted file mode 100644 index 290c435df3..0000000000 --- a/e2e/content-services/pages/tree-view.page.ts +++ /dev/null @@ -1,85 +0,0 @@ -/*! - * @license - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { element, by, protractor, $, $$ } from 'protractor'; -import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing'; - -export class TreeViewPage { - - treeViewTitle = element(by.cssContainingText('app-tree-view div', 'TREE VIEW TEST')); - nodeIdInput = $('input[data-placeholder="Node Id"]'); - noNodeMessage = $('#adf-tree-view-missing-node'); - nodesOnPage = $$('mat-tree-node'); - - async checkTreeViewTitleIsDisplayed(): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.treeViewTitle); - } - - async getNodeId(): Promise { - return BrowserActions.getInputValue(this.nodeIdInput); - } - - async clickNode(nodeName: string): Promise { - const node = $('mat-tree-node[id="' + nodeName + '-tree-child-node"] button'); - await BrowserActions.click(node); - } - - async checkNodeIsDisplayedAsClosed(nodeName: string): Promise { - const node = $('mat-tree-node[id="' + nodeName + '-tree-child-node"][aria-expanded="false"]'); - await BrowserVisibility.waitUntilElementIsVisible(node); - } - - async checkNodeIsDisplayedAsOpen(nodeName: string): Promise { - const node = $('mat-tree-node[id="' + nodeName + '-tree-child-node"][aria-expanded="true"]'); - await BrowserVisibility.waitUntilElementIsVisible(node); - } - - async checkClickedNodeName(nodeName: string): Promise { - const clickedNode = element(by.cssContainingText('span', ' CLICKED NODE: ' + nodeName + '')); - await BrowserVisibility.waitUntilElementIsVisible(clickedNode); - } - - async checkNodeIsNotDisplayed(nodeName: string): Promise { - const node = $('#' + nodeName + '-tree-child-node'); - await BrowserVisibility.waitUntilElementIsNotVisible(node); - } - - async clearNodeIdInput(): Promise { - await BrowserActions.click(this.nodeIdInput); - await BrowserActions.clearWithBackSpace(this.nodeIdInput); - } - - async checkNoNodeIdMessageIsDisplayed(): Promise { - await BrowserVisibility.waitUntilElementIsVisible(this.noNodeMessage); - } - - async addNodeId(nodeId: string): Promise { - await BrowserActions.click(this.nodeIdInput); - await BrowserActions.clearSendKeys(this.nodeIdInput, nodeId); - await this.nodeIdInput.sendKeys('a'); - await this.nodeIdInput.sendKeys(protractor.Key.BACK_SPACE); - } - - async checkErrorMessageIsDisplayed(): Promise { - const clickedNode = element(by.cssContainingText('span', 'An Error Occurred ')); - await BrowserVisibility.waitUntilElementIsVisible(clickedNode); - } - - async getTotalNodes(): Promise { - return this.nodesOnPage.count(); - } -} diff --git a/e2e/core/pages/navigation-bar.page.ts b/e2e/core/pages/navigation-bar.page.ts index af9b719aa8..e0876a21d1 100644 --- a/e2e/core/pages/navigation-bar.page.ts +++ b/e2e/core/pages/navigation-bar.page.ts @@ -90,10 +90,6 @@ export class NavigationBarPage { await BrowserVisibility.waitUntilElementIsNotPresent(this.linkMenuChildrenContainer); } - async clickTreeViewButton(): Promise { - await this.clickNavigationBarItem('Tree View'); - } - async clickLogoutButton(): Promise { Logger.log('Logout'); try {