UNPKG

wix-style-react

Version:
119 lines (104 loc) 4.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var EC = protractor.ExpectedConditions; var calendarDriverFactory = function calendarDriverFactory(component) { var getYear = function getYear(year) { var MAX_YEAR = 2028; var index = MAX_YEAR - year; return component.$("[data-hook='dropdown-item-".concat(index, "']")); }; var getCalendar = function getCalendar() { return component.$('.DayPicker'); }; var getNthAvailableDay = function getNthAvailableDay(n) { return component.$$('[role="gridcell"]>[data-outsideday="false"]').get(n); }; var getYearDropdown = function getYearDropdown() { return component.$('[data-hook="datepicker-year-dropdown-button"]'); }; var getNthYear = function getNthYear(n) { return component.$("[data-hook=\"datepicker-year-dropdown\"] [data-hook=\"dropdown-item-".concat(n, "\"]")); }; var getMonthsDropdown = function getMonthsDropdown() { return component.$('[data-hook="datepicker-month-dropdown-button"]'); }; var getNthMonth = function getNthMonth(n) { return component.$("[data-hook=\"datepicker-month-dropdown\"] [data-hook=\"dropdown-item-".concat(n === 0 ? n : n - 1, "\"]")); }; var getCalendarWrapper = function getCalendarWrapper() { return component.$('.DayPicker-wrapper'); }; var getKeyboardSelectedDay = function getKeyboardSelectedDay() { return component.$('.DayPicker-Day:focus'); }; var getPrevMonthButton = function getPrevMonthButton() { return component.$('[data-hook="datepicker-left-arrow"]'); }; var getNextMonthButton = function getNextMonthButton() { return component.$('[data-hook="datepicker-right-arrow"]'); }; var _getMonthCaption = function getMonthCaption() { return component.$('[data-hook="datepicker-month-caption"]'); }; return { getElement: function getElement() { return getCalendar(); }, exists: function exists() { return getCalendar().isPresent(); }, isYearInViewPort: function isYearInViewPort(year) { return browser.wait(EC.visibilityOf(getYear(year)), 5000); }, isVisible: function isVisible() { return getCalendar().isDisplayed(); }, clickOnNthAvailableDay: function clickOnNthAvailableDay() { var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; return getNthAvailableDay(n).click(); }, openYearDropdownOptions: function openYearDropdownOptions() { return getYearDropdown().click(); }, clickOnNthYear: function clickOnNthYear() { var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; return getNthYear(n).click(); }, openMonthDropdownOptions: function openMonthDropdownOptions() { return getMonthsDropdown().click(); }, clickOnNthMonth: function clickOnNthMonth() { var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; return getNthMonth(n).click(); }, pressEscKey: function pressEscKey() { return getCalendarWrapper().sendKeys(protractor.Key.ESCAPE); }, pressTabKey: function pressTabKey() { return getCalendarWrapper().sendKeys(protractor.Key.TAB); }, pressEnterKey: function pressEnterKey() { return getKeyboardSelectedDay().sendKeys(protractor.Key.ENTER); }, pressArrowRightKey: function pressArrowRightKey() { return getKeyboardSelectedDay().sendKeys(protractor.Key.ARROW_RIGHT); }, pressArrowLeftKey: function pressArrowLeftKey() { return getKeyboardSelectedDay().sendKeys(protractor.Key.ARROW_LEFT); }, nextMonth: function nextMonth() { return getNextMonthButton().click(); }, prevMonth: function prevMonth() { return getPrevMonthButton().click(); }, getMonthCaption: function getMonthCaption() { return _getMonthCaption().getText(); } }; }; var _default = calendarDriverFactory; exports["default"] = _default;