mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
* add tests for start process * modify login parameters * fix lint error * add test * update import and unused methods * update test
130 lines
5.9 KiB
TypeScript
130 lines
5.9 KiB
TypeScript
/*!
|
|
* @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.
|
|
*/
|
|
|
|
import { LoginSSOPage } from '../pages/adf/loginSSOPage';
|
|
import { SettingsPage } from '../pages/adf/settingsPage';
|
|
import { AppListCloudComponent } from '../pages/adf/process-cloud/appListCloudComponent';
|
|
import TestConfig = require('../test.config');
|
|
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
|
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
|
|
import { StartProcessPage } from '../pages/adf/process-services/startProcessPage';
|
|
import { Util } from '../util/util';
|
|
describe('Start Process', () => {
|
|
|
|
const settingsPage = new SettingsPage();
|
|
const loginSSOPage = new LoginSSOPage();
|
|
const navigationBarPage = new NavigationBarPage();
|
|
const appListCloudComponent = new AppListCloudComponent();
|
|
const processCloudDemoPage = new ProcessCloudDemoPage();
|
|
const startProcessPage = new StartProcessPage();
|
|
const processName = Util.generateRandomString(10);
|
|
const processName255Characters = Util.generateRandomString(255);
|
|
const processNameBiggerThen255Characters = Util.generateRandomString(256);
|
|
const lengthValidationError = 'Length exceeded, 255 characters max.';
|
|
const requiredError = 'Process Name is required', requiredProcessError = 'Process Definition is required';
|
|
const processDefinition = 'processwithvariables';
|
|
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
|
|
const appName = 'simple-app', noProcessApp = 'noprocessapp';
|
|
let silentLogin;
|
|
|
|
beforeAll((done) => {
|
|
silentLogin = false;
|
|
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, silentLogin);
|
|
loginSSOPage.clickOnSSOButton();
|
|
loginSSOPage.loginAPS(user, password);
|
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
|
appListCloudComponent.checkApsContainer();
|
|
done();
|
|
});
|
|
|
|
afterEach((done) => {
|
|
navigationBarPage.navigateToProcessServicesCloudPage();
|
|
done();
|
|
});
|
|
|
|
it('[C291857] Should be possible to cancel a process', () => {
|
|
appListCloudComponent.checkAppIsDisplayed(appName);
|
|
appListCloudComponent.goToApp(appName);
|
|
processCloudDemoPage.openNewProcessForm();
|
|
startProcessPage.clearField(startProcessPage.processNameInput);
|
|
startProcessPage.blur(startProcessPage.processNameInput);
|
|
startProcessPage.checkValidationErrorIsDisplayed(requiredError);
|
|
startProcessPage.checkStartProcessButtonIsDisabled();
|
|
startProcessPage.clickCancelProcessButton();
|
|
});
|
|
|
|
it('[C291842] Should be displayed an error message if process name exceed 255 characters', () => {
|
|
appListCloudComponent.goToApp(appName);
|
|
processCloudDemoPage.openNewProcessForm();
|
|
startProcessPage.enterProcessName(processName255Characters);
|
|
startProcessPage.checkStartProcessButtonIsEnabled();
|
|
|
|
startProcessPage.enterProcessName(processNameBiggerThen255Characters);
|
|
startProcessPage.blur(startProcessPage.processNameInput);
|
|
startProcessPage.checkValidationErrorIsDisplayed(lengthValidationError);
|
|
startProcessPage.checkStartProcessButtonIsDisabled();
|
|
});
|
|
|
|
it('[C291855] Should NOT be able to start a process without process model', () => {
|
|
appListCloudComponent.checkAppIsDisplayed(noProcessApp);
|
|
appListCloudComponent.goToApp(noProcessApp);
|
|
processCloudDemoPage.openNewProcessForm();
|
|
startProcessPage.checkNoProcessMessage();
|
|
});
|
|
|
|
it('[C291860] Should be able to start a process', () => {
|
|
appListCloudComponent.checkAppIsDisplayed(appName);
|
|
appListCloudComponent.goToApp(appName);
|
|
processCloudDemoPage.openNewProcessForm();
|
|
|
|
startProcessPage.clearField(startProcessPage.processNameInput);
|
|
startProcessPage.enterProcessName(processName);
|
|
startProcessPage.checkStartProcessButtonIsEnabled();
|
|
startProcessPage.clickStartProcessButton();
|
|
processCloudDemoPage.clickOnProcessFilters();
|
|
|
|
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
|
|
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
|
|
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(processName);
|
|
|
|
});
|
|
|
|
it('[C291860] Should be able to start a process with variables', () => {
|
|
appListCloudComponent.checkAppIsDisplayed(appName);
|
|
appListCloudComponent.goToApp(appName);
|
|
processCloudDemoPage.openNewProcessForm();
|
|
|
|
startProcessPage.clearField(startProcessPage.processNameInput);
|
|
startProcessPage.enterProcessName(processName);
|
|
|
|
startProcessPage.clearField(startProcessPage.processDefinition);
|
|
startProcessPage.blur(startProcessPage.processDefinition);
|
|
startProcessPage.checkValidationErrorIsDisplayed(requiredProcessError);
|
|
|
|
startProcessPage.selectFromProcessDropdown(processDefinition);
|
|
startProcessPage.checkStartProcessButtonIsEnabled();
|
|
startProcessPage.clickStartProcessButton();
|
|
processCloudDemoPage.clickOnProcessFilters();
|
|
|
|
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
|
|
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
|
|
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(processName);
|
|
|
|
});
|
|
|
|
});
|