[ADF-4807] Automation tests for date min/max validation (#5008)

* Trigger alpha

* [ADF-4807] Automation tests for date min/max validation

* Removing identityUser changes
This commit is contained in:
Marouan Bentaleb
2019-09-16 17:07:06 +01:00
committed by Eugenio Romano
parent 53471eae84
commit 8ee3e25caf
9 changed files with 421 additions and 85 deletions

View File

@@ -18,11 +18,13 @@
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { AppsActions } from '../../actions/APS/apps.actions';
import { UsersActions } from '../../actions/users.actions';
import { LoginPage, BrowserActions, Widget } from '@alfresco/adf-testing';
import { LoginPage, BrowserActions, Widget, FormPage } from '@alfresco/adf-testing';
import { TasksPage } from '../../pages/adf/process-services/tasksPage';
import CONSTANTS = require('../../util/constants');
import { browser } from 'protractor';
import resources = require('../../util/resources');
import { FormDemoPage } from '../../pages/adf/demo-shell/process-services/formDemoPage';
import { customDateFormAPS1 } from '../../resources/forms/custom-date-form';
describe('Date widget', () => {
@@ -30,6 +32,7 @@ describe('Date widget', () => {
let processUserModel;
const taskPage = new TasksPage();
const widget = new Widget();
const dateWidget = widget.dateWidget();
let alfrescoJsApi;
const appsActions = new AppsActions();
let appModel;
@@ -60,13 +63,6 @@ describe('Date widget', () => {
});
beforeEach(async () => {
const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`;
await BrowserActions.getUrl(urlToNavigateTo);
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
await taskPage.formFields().checkFormIsDisplayed();
});
afterAll(async () => {
await alfrescoJsApi.activiti.processApi.deleteProcessInstance(process.id);
await alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
@@ -74,21 +70,60 @@ describe('Date widget', () => {
});
it('[C268814] Should be able to set general settings for Date widget', async () => {
await expect(await widget.dateWidget().getDateLabel(app.FIELD.date_input)).toContain('Date');
await expect(await taskPage.formFields().isCompleteFormButtonDisabled()).toBeTruthy();
await widget.dateWidget().setDateInput(app.FIELD.date_input, '20-10-2018');
await taskPage.formFields().saveForm();
await expect(await taskPage.formFields().isCompleteFormButtonDisabled()).toBeFalsy();
describe('Simple App', () => {
beforeEach(async () => {
const urlToNavigateTo = `${browser.params.testConfig.adf.url}/activiti/apps/${deployedApp.id}/tasks/`;
await BrowserActions.getUrl(urlToNavigateTo);
await taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
await taskPage.formFields().checkFormIsDisplayed();
});
it('[C268814] Should be able to set general settings for Date widget', async () => {
await expect(await dateWidget.getDateLabel(app.FIELD.date_input)).toContain('Date');
await expect(await taskPage.formFields().isCompleteFormButtonDisabled()).toBeTruthy();
await dateWidget.setDateInput(app.FIELD.date_input, '20-10-2018');
await taskPage.formFields().saveForm();
await expect(await taskPage.formFields().isCompleteFormButtonDisabled()).toBeFalsy();
});
it('[C277234] Should be able to set advanced settings for Date widget ', async () => {
await dateWidget.setDateInput(app.FIELD.date_between_input, '20-10-2017');
await taskPage.formFields().saveForm();
await expect(await dateWidget.getErrorMessage(app.FIELD.date_between_input)).toBe('Can\'t be less than 1-10-2018');
await dateWidget.clearDateInput(app.FIELD.date_between_input);
await dateWidget.setDateInput(app.FIELD.date_between_input, '20-10-2019');
await taskPage.formFields().saveForm();
await expect(await dateWidget.getErrorMessage(app.FIELD.date_between_input)).toBe('Can\'t be greater than 31-10-2018');
});
});
it('[C277234] Should be able to set advanced settings for Date widget ', async () => {
await widget.dateWidget().setDateInput(app.FIELD.date_between_input, '20-10-2017');
await taskPage.formFields().saveForm();
await expect(await widget.dateWidget().getErrorMessage(app.FIELD.date_between_input)).toBe('Can\'t be less than 1-10-2018');
await widget.dateWidget().clearDateInput(app.FIELD.date_between_input);
await widget.dateWidget().setDateInput(app.FIELD.date_between_input, '20-10-2019');
await taskPage.formFields().saveForm();
await expect(await widget.dateWidget().getErrorMessage(app.FIELD.date_between_input)).toBe('Can\'t be greater than 31-10-2018');
describe('Form Demo Page', () => {
const formDemoPage = new FormDemoPage();
const formJson = JSON.parse(customDateFormAPS1);
const formPage = new FormPage();
beforeAll(async () => {
const urlFormDemoPage = `${browser.params.testConfig.adf.url}/form`;
await BrowserActions.getUrl(urlFormDemoPage);
});
it('[C313199] Should display the validation for min and max date values with custom date format', async () => {
await formDemoPage.setConfigToEditor(formJson);
await dateWidget.setDateInput('datefield', '18-7-19');
await formPage.saveForm();
await expect(await dateWidget.getErrorMessage('datefield'))
.toBe('Can\'t be less than 19-7-19', 'Min date validation is not working');
await dateWidget.clearDateInput('datefield');
await dateWidget.setDateInput('datefield', '20-7-19');
await formPage.saveForm();
await expect(await dateWidget.getErrorMessage('datefield'))
.toBe('Can\'t be greater than 19-8-19', 'Max date validation is not working');
await dateWidget.clearDateInput('datefield');
await dateWidget.setDateInput('datefield', '19-7-19');
await formPage.saveForm();
await dateWidget.checkErrorMessageIsNotDisplayed('datefield');
});
});
});