wix-style-react
Version:
119 lines (104 loc) • 4.01 kB
JavaScript
;
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;