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:
gmandakini
2019-04-21 23:42:59 +01:00
committed by Eugenio Romano
parent 97ad54a4f8
commit e85b57876e
69 changed files with 369 additions and 351 deletions

View File

@@ -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`));

View File

@@ -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 {

View File

@@ -16,7 +16,7 @@
*/
import { ApiService } from '../api.service';
import { StringUtil } from '../../string.util';
import { StringUtil } from '../../utils/string.util';
export class GroupIdentityService {

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { StringUtil } from '../string.util';
import { StringUtil } from '../utils/string.util';
export class UserModel {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -16,7 +16,7 @@
*/
import { by } from 'protractor';
import { BrowserVisibility } from '../browser-visibility';
import { BrowserVisibility } from '../utils/browser-visibility';
export class FormControllersPage {

View File

@@ -16,7 +16,7 @@
*/
import { element, by, protractor } from 'protractor';
import { BrowserVisibility } from '../browser-visibility';
import { BrowserVisibility } from '../utils/browser-visibility';
export class HeaderPage {

View File

@@ -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 {

View File

@@ -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();

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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';

View 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();`
);
}
}

View 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';

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -16,7 +16,7 @@
*/
import { by } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility';
import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class ProcessFiltersCloudComponentPage {

View File

@@ -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 {

View File

@@ -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';

View File

@@ -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();
}

View File

@@ -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 {

View File

@@ -16,7 +16,7 @@
*/
import { by } from 'protractor';
import { BrowserVisibility } from '../../core/browser-visibility';
import { BrowserVisibility } from '../../core/utils/browser-visibility';
export class TaskFiltersCloudComponentPage {

View File

@@ -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 {

View File

@@ -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';

View File

@@ -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 {