[ADF-1895]Refactor date-time-picker and date-picker (#5544)

* Refactor date-time-picker and date-picker

* no message
This commit is contained in:
Cristina Jalba
2020-03-16 12:44:39 +02:00
committed by GitHub
parent 3c35c45406
commit ea6ab300c4
13 changed files with 285 additions and 79 deletions

View File

@@ -129,7 +129,6 @@ describe('Share file', () => {
it('[C286548] Should be possible to set expiry date for link', async () => {
await contentServicesPage.clickShareButton();
await shareDialog.checkDialogIsDisplayed();
await shareDialog.clickDateTimePickerButton();
await shareDialog.setDefaultDay();
await shareDialog.setDefaultHour();
await shareDialog.setDefaultMinutes();
@@ -155,7 +154,6 @@ describe('Share file', () => {
await LocalStorageUtil.setConfigField('sharedLinkDateTimePickerType', JSON.stringify('date'));
await contentServicesPage.clickShareButton();
await shareDialog.checkDialogIsDisplayed();
await shareDialog.clickDateTimePickerButton();
await shareDialog.setDefaultDay();
await shareDialog.dateTimePickerDialogIsClosed();
const value = await shareDialog.getExpirationDate();

View File

@@ -16,12 +16,13 @@
*/
import { element, by, ElementFinder } from 'protractor';
import { BrowserVisibility, TogglePage, BrowserActions } from '@alfresco/adf-testing';
import { BrowserVisibility, TogglePage, BrowserActions, DateTimePickerPage } from '@alfresco/adf-testing';
import moment = require('moment');
export class ShareDialogPage {
togglePage = new TogglePage();
dateTimePickerPage = new DateTimePickerPage();
shareDialog: ElementFinder = element(by.css('adf-share-dialog'));
dialogTitle: ElementFinder = element(by.css('[data-automation-id="adf-share-dialog-title"]'));
shareToggle: ElementFinder = element(by.css('[data-automation-id="adf-share-toggle"] label'));
@@ -29,11 +30,6 @@ export class ShareDialogPage {
shareLink: ElementFinder = element(by.css('[data-automation-id="adf-share-link"]'));
closeButton: ElementFinder = element(by.css('button[data-automation-id="adf-share-dialog-close"]'));
copySharedLinkButton: ElementFinder = element(by.css('.adf-input-action'));
timeDatePickerButton: ElementFinder = element(by.css('mat-datetimepicker-toggle button'));
dayPicker: ElementFinder = element(by.css('mat-datetimepicker-month-view'));
clockPicker: ElementFinder = element(by.css('mat-datetimepicker-clock'));
hoursPicker: ElementFinder = element(by.css('.mat-datetimepicker-clock-hours'));
minutePicker: ElementFinder = element(by.css('.mat-datetimepicker-clock-minutes'));
expirationDateInput: ElementFinder = element(by.css('input[formcontrolname="time"]'));
confirmationDialog: ElementFinder = element(by.css('adf-confirm-dialog'));
confirmationCancelButton: ElementFinder = element(by.id('adf-confirm-cancel'));
@@ -81,35 +77,28 @@ export class ShareDialogPage {
}
async clickDateTimePickerButton(): Promise<void> {
await BrowserActions.click(this.timeDatePickerButton);
await this.dateTimePickerPage.clickDateTimePicker();
}
async calendarTodayDayIsDisabled(): Promise<void> {
const tomorrow = moment().add(1, 'days').format('D');
if (tomorrow !== '1') {
const today = await BrowserActions.getText(this.dayPicker.element(by.css('.mat-datetimepicker-calendar-body-today')));
await BrowserVisibility.waitUntilElementIsPresent(element(by.cssContainingText('.mat-datetimepicker-calendar-body-disabled', today)));
await this.dateTimePickerPage.checkCalendarTodayDayIsDisabled();
}
}
async setDefaultDay(): Promise<void> {
await BrowserVisibility.waitUntilElementIsVisible(this.dayPicker);
const tomorrow = moment().add(1, 'days').format('LL');
await BrowserActions.click(this.dayPicker.element(by.css(`td[aria-label="${tomorrow}"]`)));
const tomorrow = moment().add(1, 'days').format('D');
await this.dateTimePickerPage.setDate(tomorrow);
}
async setDefaultHour(): Promise<void> {
const selector = '.mat-datetimepicker-clock-cell:not(.mat-datetimepicker-clock-cell-disabled)';
await BrowserVisibility.waitUntilElementIsVisible(this.clockPicker);
await BrowserActions.click(this.hoursPicker.all(by.css(selector)).first());
await this.dateTimePickerPage.dateTime.setDefaultEnabledHour();
}
async setDefaultMinutes() {
const selector = '.mat-datetimepicker-clock-cell:not(.mat-datetimepicker-clock-cell-disabled)';
await BrowserActions.click(this.minutePicker.all(by.css(selector)).first());
await this.dateTimePickerPage.dateTime.setDefaultEnabledMinutes();
}
async dateTimePickerDialogIsClosed(): Promise<void> {

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { LoginPage, Widget, DatePickerPage, DateUtil } from '@alfresco/adf-testing';
import { LoginPage, Widget, DatePickerCalendarPage, DateUtil } from '@alfresco/adf-testing';
import { ProcessFiltersPage } from '../pages/adf/process-services/process-filters.page';
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/process-service-tab-bar.page';
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
@@ -29,7 +29,7 @@ describe('Dynamic Table', () => {
const loginPage = new LoginPage();
const processFiltersPage = new ProcessFiltersPage();
const processServiceTabBarPage = new ProcessServiceTabBarPage();
const datePicker = new DatePickerPage();
const datePicker = new DatePickerCalendarPage();
const navigationBarPage = new NavigationBarPage();
const widget = new Widget();
let user, tenantId, appId, apps, users;

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { DataTableComponentPage, DatePickerPage, DateUtil, LocalStorageUtil, LoginPage } from '@alfresco/adf-testing';
import { DataTableComponentPage, DatePickerCalendarPage, DateUtil, LocalStorageUtil, LoginPage } from '@alfresco/adf-testing';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser } from 'protractor';
import { SearchDialogPage } from '../../pages/adf/dialog/search-dialog.page';
@@ -31,7 +31,7 @@ describe('Search Date Range Filter', () => {
const searchFilters = new SearchFiltersPage();
const dateRangeFilter = searchFilters.createdDateRangeFilterPage();
const searchResults = new SearchResultsPage();
const datePicker = new DatePickerPage();
const datePicker = new DatePickerCalendarPage();
const navigationBar = new NavigationBarPage();
const dataTable = new DataTableComponentPage();