mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
Added a new LocalStorageUtil and using the setConfigMethod to set the local storage variables (#4575)
* added a new LocalStorageUtil and using the setConfigMethod to set the localstorage variables, instead of using hte settings ui page. * linting fix * fixing import paths * update new path LocalStorageUtil * fix problems after rebase * fix async loadin and clear * local storage fix * fix lint * fix cs tests * fix tag navigation and rename file appNavigation to processTabNavigation * fix lint * fix process test * fix lint Signed-off-by: Eugenio Romano <eugenio.romano@alfresco.com> * fix start process cloud * inc timeout
This commit is contained in:
committed by
Eugenio Romano
parent
97ad54a4f8
commit
e85b57876e
@@ -17,7 +17,7 @@
|
||||
|
||||
import { by, element } from 'protractor';
|
||||
import { DocumentListPage } from '../pages/document-list.page';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class ContentNodeSelectorDialogPage {
|
||||
dialog = element(by.css(`adf-content-node-selector`));
|
||||
|
@@ -17,7 +17,7 @@
|
||||
|
||||
import { by, element, ElementFinder, browser } from 'protractor';
|
||||
import { DataTableComponentPage } from '../../core/pages/data-table-component.page';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class DocumentListPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { ApiService } from '../api.service';
|
||||
import { StringUtil } from '../../string.util';
|
||||
import { StringUtil } from '../../utils/string.util';
|
||||
|
||||
export class GroupIdentityService {
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { StringUtil } from '../string.util';
|
||||
import { StringUtil } from '../utils/string.util';
|
||||
|
||||
export class UserModel {
|
||||
|
||||
|
@@ -17,7 +17,7 @@
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { ElementFinder, ElementArrayFinder } from 'protractor/built/element';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class DataTableComponentPage {
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
import { element, by } from 'protractor';
|
||||
|
||||
export class ErrorPage {
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class FormControllersPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class HeaderPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by, browser, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class LoginSSOPage {
|
||||
|
||||
|
@@ -17,10 +17,13 @@
|
||||
|
||||
import { FormControllersPage } from './form-controller.page';
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { SettingsPage } from './settings.page';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
import { LocalStorageUtil } from '../utils/local-storage.util';
|
||||
|
||||
export class LoginPage {
|
||||
|
||||
loginURL = browser.baseUrl + '/login';
|
||||
|
||||
formControllersPage = new FormControllersPage();
|
||||
txtUsername = element(by.css('input[id="username"]'));
|
||||
txtPassword = element(by.css('input[id="password"]'));
|
||||
@@ -64,7 +67,6 @@ export class LoginPage {
|
||||
successRouteSwitch = element(by.id('adf-toggle-show-successRoute'));
|
||||
logoSwitch = element(by.id('adf-toggle-logo'));
|
||||
header = element(by.id('adf-header'));
|
||||
settingsPage = new SettingsPage();
|
||||
settingsIcon = element(
|
||||
by.cssContainingText(
|
||||
'a[data-automation-id="settings"] mat-icon',
|
||||
@@ -72,6 +74,13 @@ export class LoginPage {
|
||||
)
|
||||
);
|
||||
|
||||
goToLoginPage() {
|
||||
browser.waitForAngularEnabled(true);
|
||||
browser.driver.get(this.loginURL);
|
||||
this.waitForElements();
|
||||
return this;
|
||||
}
|
||||
|
||||
waitForElements() {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.txtUsername);
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
|
||||
@@ -162,31 +171,31 @@ export class LoginPage {
|
||||
return this.signInButton.isEnabled();
|
||||
}
|
||||
|
||||
loginToProcessServicesUsingUserModel(userModel) {
|
||||
this.settingsPage.setProviderBpm();
|
||||
this.waitForElements();
|
||||
async loginToProcessServicesUsingUserModel(userModel) {
|
||||
this.goToLoginPage();
|
||||
await LocalStorageUtil.clearStorage();
|
||||
await LocalStorageUtil.setStorageItem('providers', 'BPM');
|
||||
await LocalStorageUtil.apiReset();
|
||||
this.login(userModel.email, userModel.password);
|
||||
}
|
||||
|
||||
loginToContentServicesUsingUserModel(userModel) {
|
||||
this.settingsPage.setProviderEcm();
|
||||
this.waitForElements();
|
||||
|
||||
async loginToContentServicesUsingUserModel(userModel) {
|
||||
this.goToLoginPage();
|
||||
await LocalStorageUtil.clearStorage();
|
||||
await LocalStorageUtil.setStorageItem('providers', 'ECM');
|
||||
await LocalStorageUtil.apiReset();
|
||||
this.login(userModel.getId(), userModel.getPassword());
|
||||
}
|
||||
|
||||
loginToContentServices(username, password) {
|
||||
this.settingsPage.setProviderEcm();
|
||||
async loginToContentServices(username, password) {
|
||||
this.goToLoginPage();
|
||||
await LocalStorageUtil.clearStorage();
|
||||
await LocalStorageUtil.setStorageItem('providers', 'ECM');
|
||||
await LocalStorageUtil.apiReset();
|
||||
this.waitForElements();
|
||||
this.login(username, password);
|
||||
}
|
||||
|
||||
goToLoginPage() {
|
||||
browser.waitForAngularEnabled(true);
|
||||
browser.driver.get(browser.baseUrl + '/login');
|
||||
this.waitForElements();
|
||||
}
|
||||
|
||||
clickSignInButton() {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.signInButton);
|
||||
this.signInButton.click();
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class PaginationPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
|
||||
export class SettingsPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by, browser, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../browser-visibility';
|
||||
import { BrowserVisibility } from '../utils/browser-visibility';
|
||||
import { TabsPage } from '../../material/pages/tabs.page';
|
||||
|
||||
export class UserInfoPage {
|
||||
|
@@ -15,9 +15,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export * from './browser-visibility';
|
||||
export * from './actions/public-api';
|
||||
export * from './pages/public-api';
|
||||
export * from './models/public-api';
|
||||
export * from './string.util';
|
||||
export * from './protractor.util';
|
||||
|
||||
export * from './utils/public-api';
|
||||
|
45
lib/testing/src/lib/core/utils/local-storage.util.ts
Normal file
45
lib/testing/src/lib/core/utils/local-storage.util.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 Alfresco Software, Ltd.
|
||||
*
|
||||
* 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 { browser } from 'protractor';
|
||||
|
||||
export class LocalStorageUtil {
|
||||
|
||||
static async setConfigField(field: string, value: string) {
|
||||
await browser.executeScript(
|
||||
'window.adf.setConfigField(`' + field + '`, `' + value + '`);'
|
||||
);
|
||||
}
|
||||
|
||||
static async setStorageItem(field: string, value: string) {
|
||||
await browser.executeScript(
|
||||
'window.adf.setStorageItem(`' + field + '`, `' + value + '`);'
|
||||
);
|
||||
}
|
||||
|
||||
static async clearStorage() {
|
||||
await browser.executeScript(
|
||||
'window.adf.clearStorage();'
|
||||
);
|
||||
}
|
||||
|
||||
static async apiReset() {
|
||||
await browser.executeScript(
|
||||
`window.adf.apiReset();`
|
||||
);
|
||||
}
|
||||
}
|
21
lib/testing/src/lib/core/utils/public-api.ts
Normal file
21
lib/testing/src/lib/core/utils/public-api.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 Alfresco Software, Ltd.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
export * from './browser-visibility';
|
||||
export * from './string.util';
|
||||
export * from './protractor.util';
|
||||
export * from './local-storage.util';
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class TabsPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class AppListCloudPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class EditProcessFilterDialogPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class EditTaskFilterDialogPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
import { by, element, protractor } from 'protractor';
|
||||
import { EditProcessFilterDialogPage } from './dialog/edit-process-filter-dialog.page';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class EditProcessFilterCloudComponentPage {
|
||||
|
||||
|
@@ -17,7 +17,7 @@
|
||||
|
||||
import { by, element, protractor } from 'protractor';
|
||||
import { EditTaskFilterDialogPage } from './dialog/edit-task-filter-dialog.page';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class EditTaskFilterCloudComponentPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class GroupCloudComponentPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class PeopleCloudComponentPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class ProcessFiltersCloudComponentPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class ProcessHeaderCloudPage {
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
import { DataTableComponentPage } from '../../core/pages/data-table-component.page';
|
||||
import { element, by } from 'protractor';
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by, element, Key, protractor, browser } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class StartProcessCloudPage {
|
||||
|
||||
@@ -95,6 +95,7 @@ export class StartProcessCloudPage {
|
||||
}
|
||||
|
||||
clickStartProcessButton() {
|
||||
BrowserVisibility.waitUntilElementIsClickable(this.startProcessButton);
|
||||
return this.startProcessButton.click();
|
||||
}
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by, Key, protractor } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class StartTasksCloudPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class TaskFiltersCloudComponentPage {
|
||||
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
|
||||
export class TaskHeaderCloudPage {
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
import { DataTableComponentPage } from '../../core/pages/data-table-component.page';
|
||||
import { element, by } from 'protractor';
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { BrowserVisibility } from '../../core/browser-visibility';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
import { by, element } from 'protractor';
|
||||
|
||||
export class FormFieldsPage {
|
||||
|
Reference in New Issue
Block a user