qe-fe-automation
Version:
FE test automation framework using cypress
80 lines (72 loc) • 2.49 kB
text/typescript
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
);
}
}