[ADF-4716][ADF-3247] Tests for checking saved date format (#4935)

* e2e tests for saving the date format fine and checking that still able to save the dynamic table with non-required DateTime field.

* remove empty line spaces.
This commit is contained in:
Geeta Mandakini Ayyalasomayajula 2019-07-16 17:20:35 +01:00 committed by Eugenio Romano
parent 677de028a2
commit 715d3b13cc
2 changed files with 26 additions and 6 deletions

View File

@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { LoginPage, Widget, DatePickerPage } from '@alfresco/adf-testing'; import { LoginPage, Widget, DatePickerPage, DateUtil } from '@alfresco/adf-testing';
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage'; import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage'; import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
@ -69,10 +69,12 @@ describe('Dynamic Table', () => {
const randomText = { const randomText = {
date: '12/12/2012', date: '12/12/2012',
wrongDate: 'HELLO WORLD', wrongDate: 'HELLO WORLD',
dateTime: 'Test', wrongDateTime: 'Test',
error: `Invalid 'columnDate' format.` dateTime: '15/07/2019 23:55',
error: `Invalid 'columnDate' format.`,
requiredError: `Field 'columnDate' is required.`
}; };
const currentDate = DateUtil.formatDate('DD-MM-YYYY');
const rowPosition = 0; const rowPosition = 0;
beforeAll(async (done) => { beforeAll(async (done) => {
@ -107,14 +109,13 @@ describe('Dynamic Table', () => {
widget.dynamicTable().clickAddButton(); widget.dynamicTable().clickAddButton();
widget.dynamicTable().clickColumnDateTime(); widget.dynamicTable().clickColumnDateTime();
expect(widget.dynamicTable().addRandomStringOnDateTime(randomText.dateTime)).toBe(''); expect(widget.dynamicTable().addRandomStringOnDateTime(randomText.wrongDateTime)).toBe('');
}); });
it('[C286279] Should be able to save row with Date field', () => { it('[C286279] Should be able to save row with Date field', () => {
widget.dynamicTable().clickAddButton(); widget.dynamicTable().clickAddButton();
widget.dynamicTable().addRandomStringOnDate(randomText.wrongDate); widget.dynamicTable().addRandomStringOnDate(randomText.wrongDate);
widget.dynamicTable().clickSaveButton(); widget.dynamicTable().clickSaveButton();
expect(widget.dynamicTable().checkErrorMessage()).toBe(randomText.error); expect(widget.dynamicTable().checkErrorMessage()).toBe(randomText.error);
widget.dynamicTable().clickDateWidget(); widget.dynamicTable().clickDateWidget();
@ -122,6 +123,21 @@ describe('Dynamic Table', () => {
.checkDatePickerIsNotDisplayed(); .checkDatePickerIsNotDisplayed();
widget.dynamicTable().clickSaveButton(); widget.dynamicTable().clickSaveButton();
widget.dynamicTable().getTableRow(rowPosition); widget.dynamicTable().getTableRow(rowPosition);
expect(widget.dynamicTable().getTableCellText(rowPosition, 1)).toBe(currentDate);
});
it('[C311456] Should be able to delete date that is not mandatory and save the Dynamic Table', () => {
widget.dynamicTable().clickAddButton();
widget.dynamicTable().clickSaveButton();
expect(widget.dynamicTable().checkErrorMessage()).toBe(randomText.requiredError);
widget.dynamicTable().clickDateWidget();
datePicker.selectTodayDate()
.checkDatePickerIsNotDisplayed();
widget.dynamicTable().clickSaveButton();
widget.dynamicTable().getTableRow(rowPosition);
expect(widget.dynamicTable().getTableCellText(rowPosition, 1)).toBe(currentDate);
expect(widget.dynamicTable().getTableCellText(rowPosition, 2)).toBe('');
}); });
}); });

View File

@ -120,6 +120,10 @@ export class DynamicTableWidget {
return BrowserVisibility.waitUntilElementIsVisible(this.tableRow.get(rowNumber)); return BrowserVisibility.waitUntilElementIsVisible(this.tableRow.get(rowNumber));
} }
getTableCellText(rowNumber: number, columnNumber: number) {
return BrowserActions.getText(this.tableRow.get(rowNumber).element(by.xpath(`td[${columnNumber}]`)));
}
checkItemIsPresent(item) { checkItemIsPresent(item) {
const row = element(by.cssContainingText('table tbody tr td span', item)); const row = element(by.cssContainingText('table tbody tr td span', item));
const present = BrowserVisibility.waitUntilElementIsVisible(row); const present = BrowserVisibility.waitUntilElementIsVisible(row);