UNPKG

qe-fe-automation

Version:
72 lines (60 loc) 2.4 kB
const selectors = { tab: '[data-testid="flightDiscountsTabGlobalPref"]', addAirlineButton: '[data-testid="addAirlinePreferenceButton"]', airlinesInput: '[data-testid="airlineMultiSelectInput"]', airlinesOption: 'mat-option', saveChangesButton: '[data-testid="saveFlightGlobalPrefButton"]', airlinesTableRow: '[data-testid="globalFlightPreferencesTable"] .mat-row', deleteButtonTable: '[data-testid="tableDeleteButton"]', deleteButtonModal: '[data-testid="discountsModalDeleteButton"]' }; const interceptors = { globalAirlines: 'api/admin/airline-preferred-routes/global' }; export class FlightPreferencesGlobal { static visitGlobalPrefPage(): void { cy.visit('app/admin2//settings/discounts/airlines'); cy.get(selectors.tab).click(); } static addAirlinePreference(airline: string): void { FlightPreferencesGlobal.clickAddAirlineButton(); FlightPreferencesGlobal.addAirline(airline); FlightPreferencesGlobal.clickSaveChangesButton(); } static verifyAirlineAdded(airline: string): void { cy.get(selectors.airlinesTableRow).contains(airline).should('be.visible'); } static deleteAirlinePreference(airline: string): void { FlightPreferencesGlobal.clickDeleteButtonTable(airline); FlightPreferencesGlobal.clickDeleteButtonModal(); } static verifyAirlineDeleted(airline: string): void { cy.contains(airline).should('not.exist'); } private static clickAddAirlineButton(): void { cy.get(selectors.addAirlineButton).click(); } private static addAirline(airline: string): void { cy.get(selectors.airlinesInput).type(airline); cy.get(selectors.airlinesOption, { timeout: 10000 }) .should('be.visible') .contains(airline) .click(); } private static clickSaveChangesButton(): void { cy.intercept('POST', interceptors.globalAirlines).as('saveGlobalAirlines'); cy.get(selectors.saveChangesButton).contains('Save changes').click(); cy.wait('@saveGlobalAirlines'); } private static clickDeleteButtonTable(airline: string): void { cy.get(selectors.airlinesTableRow) .contains(airline) .get(selectors.deleteButtonTable) .click(); } private static clickDeleteButtonModal(): void { cy.intercept('DELETE', interceptors.globalAirlines).as('deleteGlobalAirlines'); cy.get(selectors.deleteButtonModal).click(); cy.wait('@deleteGlobalAirlines'); } }