UNPKG

qe-fe-automation

Version:
80 lines (72 loc) 2.49 kB
const activeTravelersPageSelectors = { coronaTableHeaders: '[role="columnheader"]', seeCountriesButton: '#mat-button-toggle-1', searchButton: '[aria-label="State"]', searchResultsTableData: 'tbody[role="rowgroup"]', bottomResourceHeading: '.resources-subheading', bottomResourceButton: '.row ta-button-v2 button', checkRestrictionsButton: 'div.restriction-widget button', usState: '#mat-button-toggle-2' }; type region = 'US State' | 'Country'; type searchLocation = 'New York' | 'Netherlands'; export class ActiveTravelersPage { static visitActiveTravelersPage() { cy.allure().logStep('Visit active travelers page'); cy.intercept('GET', /api\/user\/continents/).as('waitForActiveTravelers'); cy.visit('app/admin2/en/activeTravelers/covid-19'); cy.url().should('include', '/activeTravelers'); cy.wait('@waitForActiveTravelers'); } static verifyCovidImpactStatusBy(statusBy: region) { if (statusBy == 'US State') { cy.get(activeTravelersPageSelectors.usState).click(); } cy.allure().logStep('Verify impact table headers'); const tableTitles = [ 'COVID-19 metrics', 'Travelers', statusBy, 'Vaccinated population (at least a single dose)', 'complete dose', 'Next 30 days', 'Current', 'Past 14 days', '' ]; cy.verifyListContainsText( activeTravelersPageSelectors.coronaTableHeaders, tableTitles ); } static searchForLocation(searchLocation: searchLocation) { cy.allure().logStep(`Search for location : ${searchLocation}`); cy.get(activeTravelersPageSelectors.searchButton).type(searchLocation); cy.get(activeTravelersPageSelectors.searchResultsTableData).contains(searchLocation); } static switchToCountriesView() { cy.allure().logStep('Switch to countries view'); cy.get(activeTravelersPageSelectors.seeCountriesButton).click(); } static verifyBottomPageDisclaimers() { cy.allure().logStep('Verify bottom page disclaimers'); const bottomHeaders = [ 'Cancellation policy tracker', 'Navan Community Forum', 'Navan Blog' ]; const bottomButtonHeaders = [ 'Visit policy tracker', 'Visit the forum', 'Visit the blog' ]; cy.verifyListContainsText( activeTravelersPageSelectors.bottomResourceHeading, bottomHeaders ); cy.verifyListContainsText( activeTravelersPageSelectors.bottomResourceButton, bottomButtonHeaders ); } }