qe-fe-automation
Version:
FE test automation framework using cypress
31 lines (27 loc) • 1.09 kB
text/typescript
import { HttpStatusCodes } from 'cypress/support/base';
const blackCarSearchResultSelector = {
selectCar: 'ta-black-car-card',
selectCarButton: '[qaid="selectBlackCarButton"]',
providerFilter: '.black-car-filters [title="Provider"]',
provider: (provider: string) => `[qaid="${provider}"]`
};
export class BlackCarSearchResults {
static selectCar(provider: string) {
cy.allure().logStep('select black car from the search result');
cy.get(blackCarSearchResultSelector.selectCar)
.filter(`:contains(${provider})`)
.eq(0)
.find(blackCarSearchResultSelector.selectCarButton)
.click();
cy.wait('@waitForBlackCarContract').then((Interception) => {
if (Interception.response?.statusCode !== HttpStatusCodes.Ok) {
cy.log(`Retrying to find the new car.`);
cy.get(blackCarSearchResultSelector.selectCarButton).eq(1).click();
}
});
}
static selectProvider(provider: string) {
cy.get(blackCarSearchResultSelector.providerFilter).click();
cy.get(blackCarSearchResultSelector.provider(provider)).click();
}
}