mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
* create after e2e and before e2e script * permission test exclude * flaky exclude * fix * chmod permission * modify check cs * fix * execute * fix * fix
222 lines
12 KiB
TypeScript
222 lines
12 KiB
TypeScript
/*!
|
|
* @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 { BrowserActions, LocalStorageUtil, SettingsPage } from '@alfresco/adf-testing';
|
|
import { browser, protractor } from 'protractor';
|
|
import { ContentServicesPage } from '../core/pages/content-services.page';
|
|
import { NavigationBarPage } from '../core/pages/navigation-bar.page';
|
|
import { ProcessServicesPage } from '../process-services/pages/process-services.page';
|
|
import { LoginShellPage } from '../core/pages/login-shell.page';
|
|
|
|
describe('Settings component', () => {
|
|
|
|
const loginPage = new LoginShellPage();
|
|
const settingsPage = new SettingsPage();
|
|
const navigationBarPage = new NavigationBarPage();
|
|
const processServicesPage = new ProcessServicesPage();
|
|
const contentServicesPage = new ContentServicesPage();
|
|
const loginError = 'Request has been terminated ' +
|
|
'Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.';
|
|
|
|
describe('Should be able to change Urls in the Settings', () => {
|
|
beforeAll(async () => {
|
|
await LocalStorageUtil.setStorageItem('authType', 'BASIC');
|
|
await browser.refresh();
|
|
});
|
|
|
|
beforeEach(async () => {
|
|
await settingsPage.goToSettingsPage();
|
|
});
|
|
|
|
it('[C245641] Should navigate User from Settings page to Login screen', async () => {
|
|
await settingsPage.clickBackButton();
|
|
await loginPage.waitForElements();
|
|
});
|
|
|
|
it('[C291948] Should save ALL Settings changes when User clicks Apply button', async () => {
|
|
await loginPage.goToLoginPage();
|
|
await loginPage.clickSettingsIcon();
|
|
await settingsPage.setProviderEcmBpm();
|
|
await loginPage.waitForElements();
|
|
await settingsPage.goToSettingsPage();
|
|
await expect(await settingsPage.getSelectedOptionText()).toEqual('ALL', 'The Settings changes are not saved');
|
|
await expect(await settingsPage.getBpmHostUrl()).toEqual(browser.params.testConfig.appConfig.bpmHost, 'The BPM Settings changes are not saved');
|
|
await expect(await settingsPage.getEcmHostUrl()).toEqual(browser.params.testConfig.appConfig.ecmHost, 'The ECM Settings changes are not saved');
|
|
});
|
|
|
|
it('[C291949] Should have field validation for Content Services Url', async () => {
|
|
await settingsPage.setProvider('ALL');
|
|
await settingsPage.clearContentServicesURL();
|
|
await settingsPage.ecmText.sendKeys(protractor.Key.TAB);
|
|
await settingsPage.checkValidationMessageIsDisplayed();
|
|
await settingsPage.checkApplyButtonIsDisabled();
|
|
});
|
|
|
|
it('[C291950] Should have field validation for Process Services Url', async () => {
|
|
await settingsPage.setProvider('ALL');
|
|
await settingsPage.clearProcessServicesURL();
|
|
await settingsPage.bpmText.sendKeys(protractor.Key.TAB);
|
|
await settingsPage.checkValidationMessageIsDisplayed();
|
|
await settingsPage.checkApplyButtonIsDisabled();
|
|
});
|
|
|
|
it('[C291951] Should not be able to sign in with invalid Content Services Url', async () => {
|
|
await settingsPage.setProvider('ECM');
|
|
await settingsPage.setContentServicesURL('http://localhost:7070');
|
|
await settingsPage.clickApply();
|
|
await loginPage.waitForElements();
|
|
await loginPage.enterUsername(browser.params.testConfig.users.admin.username);
|
|
await loginPage.enterPassword(browser.params.testConfig.users.admin.password);
|
|
await loginPage.clickSignInButton();
|
|
await loginPage.checkLoginErrorIsDisplayed(loginError);
|
|
});
|
|
|
|
it('[C291952] Should not be able to sign in with invalid Process Services Url', async () => {
|
|
await settingsPage.setProvider('BPM');
|
|
await settingsPage.setProcessServicesURL('http://localhost:7070');
|
|
await settingsPage.clickApply();
|
|
await loginPage.waitForElements();
|
|
await loginPage.enterUsername(browser.params.testConfig.users.admin.username);
|
|
await loginPage.enterPassword(browser.params.testConfig.users.admin.password);
|
|
await loginPage.clickSignInButton();
|
|
await loginPage.checkLoginErrorIsDisplayed(loginError);
|
|
});
|
|
});
|
|
|
|
describe('Settings Component - Basic Authentication', () => {
|
|
beforeAll(async () => {
|
|
await LocalStorageUtil.setStorageItem('authType', 'OAUTH');
|
|
await browser.refresh();
|
|
await settingsPage.goToSettingsPage();
|
|
await settingsPage.setProvider('ALL');
|
|
await settingsPage.setContentServicesURL(browser.params.testConfig.appConfig.ecmHost);
|
|
await settingsPage.setProcessServicesURL(browser.params.testConfig.appConfig.bpmHost);
|
|
await settingsPage.setImplicitFlow(false);
|
|
await settingsPage.setSilentLogin(false);
|
|
await settingsPage.clickApply();
|
|
});
|
|
|
|
beforeEach(async () => {
|
|
await loginPage.goToLoginPage();
|
|
await loginPage.clickSettingsIcon();
|
|
await settingsPage.checkProviderDropdownIsDisplayed();
|
|
});
|
|
|
|
it('[C277751] Should allow the User to login to Process Services using the BPM selection on Settings page', async () => {
|
|
await settingsPage.checkProviderOptions();
|
|
await settingsPage.checkBasicAuthRadioIsSelected();
|
|
await settingsPage.checkSsoRadioIsNotSelected();
|
|
await expect(await settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.appConfig.ecmHost);
|
|
await expect(await settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.appConfig.bpmHost);
|
|
|
|
await expect(await settingsPage.getBackButton().isEnabled()).toBe(true);
|
|
await expect(await settingsPage.getApplyButton().isEnabled()).toBe(true);
|
|
await loginPage.goToLoginPage();
|
|
await loginPage.clickSettingsIcon();
|
|
await settingsPage.checkProviderDropdownIsDisplayed();
|
|
await settingsPage.setProvider('BPM');
|
|
await settingsPage.clickBackButton();
|
|
await loginPage.waitForElements();
|
|
await loginPage.clickSettingsIcon();
|
|
await settingsPage.checkProviderDropdownIsDisplayed();
|
|
await settingsPage.setProviderBpm();
|
|
await loginPage.waitForElements();
|
|
await loginPage.enterUsername(browser.params.testConfig.users.admin.username);
|
|
await loginPage.enterPassword(browser.params.testConfig.users.admin.password);
|
|
await loginPage.clickSignInButton();
|
|
await navigationBarPage.navigateToProcessServicesPage();
|
|
await processServicesPage.checkApsContainer();
|
|
await processServicesPage.checkAppIsDisplayed('Task App');
|
|
await navigationBarPage.clickSettingsButton();
|
|
await expect(await settingsPage.getSelectedOptionText()).toBe('BPM');
|
|
|
|
await settingsPage.checkBasicAuthRadioIsSelected();
|
|
await settingsPage.checkSsoRadioIsNotSelected();
|
|
await expect(await settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.appConfig.bpmHost);
|
|
|
|
await expect(await settingsPage.getBackButton().isEnabled()).toBe(true);
|
|
await expect(await settingsPage.getApplyButton().isEnabled()).toBe(true);
|
|
await settingsPage.clickBackButton();
|
|
await loginPage.waitForElements();
|
|
await BrowserActions.getUrl(browser.baseUrl + '/activiti');
|
|
await processServicesPage.checkApsContainer();
|
|
await processServicesPage.checkAppIsDisplayed('Task App');
|
|
});
|
|
|
|
it('[C277752] Should allow the User to login to Content Services using the ECM selection on Settings page', async () => {
|
|
await settingsPage.setProvider('ECM');
|
|
await settingsPage.clickBackButton();
|
|
await loginPage.waitForElements();
|
|
await loginPage.clickSettingsIcon();
|
|
await settingsPage.checkProviderDropdownIsDisplayed();
|
|
await settingsPage.setProviderEcm();
|
|
await loginPage.waitForElements();
|
|
await loginPage.enterUsername(browser.params.testConfig.users.admin.username);
|
|
await loginPage.enterPassword(browser.params.testConfig.users.admin.password);
|
|
await loginPage.clickSignInButton();
|
|
await navigationBarPage.navigateToContentServices();
|
|
await contentServicesPage.checkAcsContainer();
|
|
await navigationBarPage.clickSettingsButton();
|
|
await expect(await settingsPage.getSelectedOptionText()).toBe('ECM');
|
|
await settingsPage.checkBasicAuthRadioIsSelected();
|
|
await settingsPage.checkSsoRadioIsNotSelected();
|
|
|
|
await expect(await settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.appConfig.ecmHost);
|
|
await expect(await settingsPage.getBackButton().isEnabled()).toBe(true);
|
|
await expect(await settingsPage.getApplyButton().isEnabled()).toBe(true);
|
|
await settingsPage.clickBackButton();
|
|
await loginPage.waitForElements();
|
|
await BrowserActions.getUrl(browser.baseUrl + '/files');
|
|
await contentServicesPage.checkAcsContainer();
|
|
});
|
|
|
|
it('[C277753] Should allow the User to login to both Process Services and Content Services using the ALL selection on Settings Page', async () => {
|
|
await settingsPage.setProvider('ALL');
|
|
await settingsPage.clickBackButton();
|
|
await loginPage.waitForElements();
|
|
await loginPage.clickSettingsIcon();
|
|
await settingsPage.checkProviderDropdownIsDisplayed();
|
|
await settingsPage.setProviderEcmBpm();
|
|
await loginPage.waitForElements();
|
|
await loginPage.enterUsername(browser.params.testConfig.users.admin.username);
|
|
await loginPage.enterPassword(browser.params.testConfig.users.admin.password);
|
|
await loginPage.clickSignInButton();
|
|
await navigationBarPage.navigateToContentServices();
|
|
await contentServicesPage.checkAcsContainer();
|
|
await navigationBarPage.navigateToProcessServicesPage();
|
|
await processServicesPage.checkApsContainer();
|
|
await processServicesPage.checkAppIsDisplayed('Task App');
|
|
await navigationBarPage.clickSettingsButton();
|
|
await expect(await settingsPage.getSelectedOptionText()).toBe('ALL');
|
|
await settingsPage.checkBasicAuthRadioIsSelected();
|
|
await settingsPage.checkSsoRadioIsNotSelected();
|
|
await expect(await settingsPage.getEcmHostUrl()).toBe(browser.params.testConfig.appConfig.ecmHost);
|
|
await expect(await settingsPage.getBpmHostUrl()).toBe(browser.params.testConfig.appConfig.bpmHost);
|
|
|
|
await expect(await settingsPage.getBackButton().isEnabled()).toBe(true);
|
|
await expect(await settingsPage.getApplyButton().isEnabled()).toBe(true);
|
|
await settingsPage.clickBackButton();
|
|
await loginPage.waitForElements();
|
|
await BrowserActions.getUrl(browser.baseUrl + '/files');
|
|
await contentServicesPage.checkAcsContainer();
|
|
await BrowserActions.getUrl(browser.baseUrl + '/activiti');
|
|
await processServicesPage.checkApsContainer();
|
|
await processServicesPage.checkAppIsDisplayed('Task App');
|
|
});
|
|
});
|
|
});
|