qe-fe-automation
Version:
FE test automation framework using cypress
49 lines (43 loc) • 2.02 kB
text/typescript
const eventsPageSelector = {
eventDateFilter: '[data-testid="eventRangeDropDown"]',
eventDatePicker: '[data-testid="filterEventDateRange"]',
calendarDate: '[data-testid="calendarDay"]',
doneButton: '[data-testid="datePickerDoneButton"]',
eventTitle: '[qaid="eventItemTitle"]',
createEventButton: '[data-testid="createEventButton"]',
eventName: (eventName: string) => `[qaId="eventItemTitle"][title="${eventName}"]`,
eventThreeDotMenu: '[data-testid="threeDotMenu"]',
eventDeleteDraftBtn: '[class="ta-button-v2 warning ta-button-v2-ghost flex"]',
cancelEventModalBtn: '[data-testid="Delete draft modal button"]',
eventLabel: '[data-testid="eventStatusLabel"]'
};
export class EventsPage {
static selectEventStartEndDate(eventStartDate: string, eventEndDate: string) {
cy.allure().logStep('set event date');
cy.get(eventsPageSelector.eventDateFilter).click();
cy.get(eventsPageSelector.eventDatePicker).click();
cy.get(eventsPageSelector.calendarDate).contains(eventStartDate).click();
cy.get(eventsPageSelector.calendarDate).contains(eventEndDate).click();
cy.get(eventsPageSelector.doneButton).click();
}
static verifyEventsByDate(text: string) {
cy.get(eventsPageSelector.eventTitle).each((item) => {
cy.wrap(item).should('contain.text', text);
});
}
static clickCreateEvent() {
cy.allure().logStep('click on Create event button');
cy.get(eventsPageSelector.createEventButton).click();
}
static selectEventByTitle(eventName: string) {
cy.allure().logStep(`select event by title: ${eventName}`);
cy.get(eventsPageSelector.eventName(eventName)).eq(0).click();
}
static cancelEvent() {
cy.allure().logStep('cancel event');
cy.get(eventsPageSelector.eventThreeDotMenu).eq(0).click();
cy.get(eventsPageSelector.eventDeleteDraftBtn).contains('Cancel event').click();
cy.get(eventsPageSelector.cancelEventModalBtn).click();
cy.get(eventsPageSelector.eventLabel).eq(0).should('contain.text', 'Canceled');
}
}