mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
* move e2e to ADF main repo * lint e2e test * enable first set of tests * enable test * firs test js-api integrated * try change name protractor demo shell file * remove fdescribe * Update .travis.yml * exclude failing test and rewrite analytics component with JS-API * remove fdescribe * move first part of tests to js-api * refactor test alfresco-js-api * replace js-api step 3 * remove adf prefix * remove unused code * remove unused part 2 * add option in e2e test for single test and browser * exclude temp failing test * refactoring test step 1 * refactoring test step 2 * refactoring test step 3 * refactoring test step 4 * refactoring test step 5 * run against localhost and proxy options * fix command * improve configuration * improve configuration * use dev configuratio * fix defering * comment out not working remotely test * fix promise login page e2e * remove console log * change test * revert * improve utils * improve task list test util add also numbers in generation of the email * remove part of the multi selector * reinsert trashcan test * uncomment document list test * try increase delay in search sorting * improve document list selector * execute different util methods * Upload error screenshot * make oncomplete async * add z-finish screenshot workaround * option save * remove fit
132 lines
4.5 KiB
JavaScript
132 lines
4.5 KiB
JavaScript
/*!
|
|
* @license
|
|
* Copyright 2016 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.
|
|
*/
|
|
|
|
var TestConfig = require('../../test.config');
|
|
var Util = require('../../util/util');
|
|
|
|
var SettingsPage = function () {
|
|
|
|
var settingsURL = TestConfig.adf.url + TestConfig.adf.port + "/settings";
|
|
var providerDropdown = element(by.css("mat-select[aria-label='Provider'] div[class='mat-select-arrow-wrapper']"));
|
|
var ecmAndBpm = {
|
|
option: element(by.xpath("//SPAN[@class='mat-option-text'][contains(text(),'ALL')]")),
|
|
text: "ALL"
|
|
};
|
|
var bpm = {
|
|
option: element(by.xpath("//SPAN[@class='mat-option-text'][contains(text(),'BPM') and not (contains(text(),'and'))]")),
|
|
text: "BPM"
|
|
};
|
|
var ecm = {
|
|
option: element(by.xpath("//SPAN[@class='mat-option-text'][contains(text(),'ECM') and not (contains(text(),'and'))]")),
|
|
text: "ECM"
|
|
};
|
|
var oauth = {
|
|
option: element(by.xpath("//SPAN[@class='mat-option-text'][contains(text(),'OAUTH')]")),
|
|
text: "OAUTH"
|
|
};
|
|
var selectedOption = element.all(by.css("span[class*='ng-star-inserted']")).first();
|
|
var ecmText = element(by.css("input[data-automation-id*='ecmHost']"));
|
|
var bpmText = element(by.css("input[data-automation-id*='bpmHost']"));
|
|
var authHostText = element(by.css("input[id='oauthHost']"));
|
|
var silentLoginToggle = element(by.css("mat-slide-toggle[name='silentLogin'] div[class='mat-slide-toggle-thumb']"));
|
|
var silentLoginEnabled = element(by.css("mat-slide-toggle[class*='mat-checked'][name='silentLogin'] div[class='mat-slide-toggle-thumb']"));
|
|
var backButton = element(by.cssContainingText("span[class='mat-button-wrapper']", "Back"));
|
|
var applyButton = element(by.css("button[data-automation-id*='host-button']"));
|
|
|
|
this.goToSettingsPage = function () {
|
|
browser.driver.get(settingsURL);
|
|
Util.waitUntilElementIsVisible(providerDropdown);
|
|
return this;
|
|
};
|
|
|
|
/**
|
|
* Selects provider
|
|
* @method setProvider
|
|
* @param {String} option, {String} selected
|
|
*/
|
|
this.setProvider = function (option, selected) {
|
|
Util.waitUntilElementIsVisible(providerDropdown);
|
|
providerDropdown.click();
|
|
Util.waitUntilElementIsVisible(option);
|
|
option.click();
|
|
return expect(selectedOption.getText()).toEqual(selected);
|
|
};
|
|
|
|
/**
|
|
* Sets provider as ECM and BPM
|
|
* @method setProviderEcmBpm
|
|
*/
|
|
this.setProviderEcmBpm = function () {
|
|
this.goToSettingsPage();
|
|
this.setProvider(ecmAndBpm.option, ecmAndBpm.text);
|
|
Util.waitUntilElementIsVisible(bpmText);
|
|
Util.waitUntilElementIsVisible(ecmText);
|
|
this.clickApply();
|
|
return this;
|
|
};
|
|
|
|
/**
|
|
* Sets provider as BPM
|
|
* @method setProviderBpm
|
|
*/
|
|
this.setProviderBpm = function () {
|
|
this.goToSettingsPage();
|
|
this.setProvider(bpm.option, bpm.text);
|
|
Util.waitUntilElementIsVisible(bpmText);
|
|
expect(ecmText.isPresent()).toBe(false);
|
|
this.clickApply();
|
|
return this;
|
|
};
|
|
|
|
/**
|
|
* Sets provider as ECM
|
|
* @method setProviderEcm
|
|
*/
|
|
this.setProviderEcm = function () {
|
|
this.goToSettingsPage();
|
|
this.setProvider(ecm.option, ecm.text);
|
|
Util.waitUntilElementIsVisible(ecmText);
|
|
expect(bpmText.isPresent()).toBe(false);
|
|
this.clickApply();
|
|
return this;
|
|
};
|
|
|
|
/**
|
|
* Sets provider as OAUTH
|
|
* @method setProviderOauth
|
|
*/
|
|
this.setProviderOauth = function () {
|
|
this.goToSettingsPage();
|
|
this.setProvider(oauth.option, oauth.text);
|
|
Util.waitUntilElementIsVisible(bpmText);
|
|
Util.waitUntilElementIsVisible(ecmText);
|
|
expect(authHostText.isPresent()).toBe(true);
|
|
this.clickApply();
|
|
return this;
|
|
};
|
|
|
|
/**
|
|
* Clicks Apply button
|
|
* @method clickApply
|
|
*/
|
|
this.clickApply = function () {
|
|
Util.waitUntilElementIsVisible(applyButton);
|
|
applyButton.click();
|
|
};
|
|
};
|
|
module.exports = SettingsPage;
|