Skip to content

Commit

Permalink
ACS-5870-playwright test for application (#3398)
Browse files Browse the repository at this point in the history
* ACS-5870-playwright test for application

* fix for failing test

* fix for failing test

* fix for login secario test

* fix for login test with newuser login

* Update test username general.spec.ts
  • Loading branch information
akashrathod28 authored Aug 28, 2023
1 parent aec6852 commit ad36ed8
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 203 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ jobs:
fail-fast: false
matrix:
e2e-suites:
- name: "listViews,navigation,application"
- name: "listViews,navigation"
id: 1
- name: "search"
id: 2
Expand Down
61 changes: 61 additions & 0 deletions e2e/playwright/authentication/src/tests/general.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*!
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Alfresco Example Content Application
*
* This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
*
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
*/

import { expect } from '@playwright/test';
import { ApiClientFactory, Utils, test } from '@alfresco/playwright-shared';

test.describe('Create folders', () => {
const apiClientFactory = new ApiClientFactory();
let randomFolderName: string;
const sessionTestUser = {
username: `user-${Utils.random()}`,
password: 'user password'
};

test.beforeAll(async () => {
await apiClientFactory.setUpAcaBackend('admin');
await apiClientFactory.createUser(sessionTestUser);
});

test.beforeEach(async () => {
randomFolderName = `playwright-folder-${Utils.random()}`;
await apiClientFactory.loginUser(sessionTestUser);
});

test('[C286473] should close opened dialogs on session expire', async ({ loginPage, personalFiles }) => {
await loginPage.navigate();
await loginPage.loginUser({ username: sessionTestUser.username, password: sessionTestUser.password });
const folderDialog = personalFiles.folderDialog;
await personalFiles.selectCreateFolder();
await apiClientFactory.tearDown();
await folderDialog.folderNameInputLocator.fill(randomFolderName);
await folderDialog.createButton.click();
await personalFiles.page.keyboard.press('Escape');
await personalFiles.snackBar.message.waitFor({ state: 'attached' });
expect(await personalFiles.snackBar.message.innerText()).toEqual('The action was unsuccessful. Try again or contact your IT Team.');
expect(await personalFiles.page.title()).toContain('Sign in');
await personalFiles.snackBar.message.waitFor({ state: 'detached' });
expect(await personalFiles.snackBar.message.isVisible(), 'dialog should not be visible').toBe(false);
});
});
68 changes: 0 additions & 68 deletions e2e/protractor/suites/application/general.test.ts

This file was deleted.

134 changes: 0 additions & 134 deletions e2e/protractor/suites/application/page-titles.test.ts

This file was deleted.

10 changes: 10 additions & 0 deletions projects/aca-playwright-shared/src/api/api-client-factory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,16 @@ export class ApiClientFactory {
}
}

async loginUser(user: PersonModel) {
let e: any;
try {
e = await this.alfrescoApi.login(user.username, user.password);
} catch (error) {
logger.error(`[API Client Factory] Log in user ${user.username} failed ${e}`);
throw error;
}
}

async createUser(user: PersonModel): Promise<PersonEntry> {
const person = new Person(user);
const peopleApi = new PeopleApi(this.alfrescoApi);
Expand Down

0 comments on commit ad36ed8

Please sign in to comment.