UNPKG

qe-fe-automation

Version:
100 lines (87 loc) 3.76 kB
import { Utility, verticalType, utilitySelector, Timeouts } from '@utility-lib/index'; export const createEventSelector = { createEventText: '[data-testid="createEventText"]', eventLocation: '.ta-location-search-v2 input', eventNameField: '[data-testid="eventTitleInput"]', eventLocationFieldOptions: '[data-testid="locationFieldSubtitle"]', upcomingEventActionButton: '[data-testid="upcomingEventActionButton"]', eventDatePicker: '[data-testid="createEventDatePicker"]', nextMonthArrow: '[data-testid="datePickerNextMonthButton"]', calendarDay: '[data-testid="calendarDay"]', datePickerDoneButton: '[data-testid="datePickerDoneButton"]', saveAndContinueButton: '[data-testid="saveAndContinueButton"]', bookTripLater: '[data-testid="bookLaterButton"]' }; export class CreateEvent { static selectEventLocation(location: string) { cy.allure().logStep(`fill in event location: ${location}`); cy.get(createEventSelector.createEventText).should('be.visible'); cy.get(createEventSelector.eventLocation) .eq(1) .then((ele) => { cy.wrap(ele).click({ force: true }); cy.wrap(ele).type(location, { force: true }); }); cy.get(createEventSelector.eventLocationFieldOptions) .eq(0) .trigger('click', { force: true }); } static selectSelfSellEventLocation(location: string) { cy.allure().logStep(`fill in event location: ${location}`); cy.get(createEventSelector.createEventText).should('be.visible'); cy.get(createEventSelector.eventLocation).then((ele) => { cy.wrap(ele).click({ force: true }); cy.wrap(ele).type(location, { force: true }); }); cy.get(createEventSelector.eventLocationFieldOptions) .eq(0) .trigger('click', { force: true }); } static setEventTitle(title: string) { cy.allure().logStep(`set event title: ${title}`); cy.get(createEventSelector.eventNameField).then((ele) => { cy.wrap(ele).click({ force: true }); cy.wrap(ele).type(`${title}`, { force: true }); }); } static setEventDates(eventStartDate: string, eventEndDate: string) { cy.allure().logStep('set event start/end dates'); cy.get(createEventSelector.eventDatePicker).eq(1).click(); cy.get(createEventSelector.nextMonthArrow).click(); cy.get(createEventSelector.calendarDay).contains(eventStartDate).click(); cy.get(createEventSelector.calendarDay).contains(eventEndDate).click(); cy.get(createEventSelector.datePickerDoneButton).contains('Done').click(); cy.get(createEventSelector.saveAndContinueButton).should('be.visible'); } static createDraftEvent() { cy.allure().logStep('create draft event'); cy.get(createEventSelector.saveAndContinueButton).click(); cy.wait('@waitForTeamEvent'); } static openSearchPage() { cy.allure().logStep('open search page'); Utility.visitSearchPage(); cy.wait(Timeouts.SHORT_TIMEOUT_5_SEC.timeout); } static clickNextButton() { cy.allure().logStep(`click next button`); cy.get(createEventSelector.saveAndContinueButton).click(); } static bookThisTripLater() { cy.allure().logStep('book this trip late'); cy.get(createEventSelector.bookTripLater).click(); } static verifyUpcomingEventReviewButton() { const buttonText = ' View details '; cy.allure().logStep('verify upcoming event review button'); cy.get(createEventSelector.upcomingEventActionButton, Timeouts.MEDIUM_TIMEOUT_60_SEC) .should('be.visible') .contains(buttonText); } static selectTeamEventVertical(tab: verticalType) { cy.allure().logStep(`select search type: ${tab}`); cy.get(utilitySelector.dataTestID(tab), Timeouts.MEDIUM_TIMEOUT_60_SEC) .should('be.visible') .click(); } }