UNPKG

qe-fe-automation

Version:
83 lines (70 loc) 2.78 kB
import { Provider_Type } from '@support-onboard/index'; const ON = 'on'; export class SplitUtility { public static checkOnlyRelevantSplitIsOn(providers: Provider_Type[]): void { providers.forEach((value) => { this.checkSplit(this.getSplitNameByProvider(value), true); }); } public static isSplitOn(splitName: string): Cypress.Chainable<boolean> { return cy.task('getDataFromCache', 'splitList').then((splitList: any) => { return splitList[splitName] === ON; }); } private static checkSplit(splitName: string, isOn: boolean): void { if (this.isSplitsObjectExist()) { this.isSplitOn(splitName).then((res) => { expect(isOn, 'User should be support on ' + splitName).to.equal(res); }); } } private static isSplitsObjectExist(): Cypress.Chainable<boolean> { return cy.task('getDataFromCache', 'splitList').then((splitList: any) => { return splitList?.length > 0; }); } private static getSplitNameByProvider(provider: Provider_Type): string { switch (provider) { case Provider_Type.MOCK_FLIGHT: return 'FLIGHT_PROVIDER_MOCK'; case Provider_Type.AMADEUS_FLIGHT: return 'FLIGHT_PROVIDER_AMADEUS'; case Provider_Type.FARELOGIX_FLIGHT: return 'FLIGHT_PROVIDER_FARELOGIX'; case Provider_Type.SABRE_FLIGHT: return 'FLIGHT_PROVIDER_SABRE'; case Provider_Type.AMTRAK_RAIL: return 'TRAIN_INVENTORY_FAKEPROVIDER_ALL'; case Provider_Type.EXPEDIA_FLIGHT: return 'FLIGHT_PROVIDER_EXPEDIA'; case Provider_Type.NDC_EXCHANGE_FLIGHT: return 'FLIGHT_PROVIDER_NDC_EXCHANGE'; case Provider_Type.PRICELINE_FLIGHT: return 'FLIGHT_PROVIDER_PRICELINE'; case Provider_Type.SOUTHWEST_FLIGHT: return 'FLIGHT_PROVIDER_SOUTHWEST'; case Provider_Type.TRAVELFUSION_FLIGHT: return 'FLIGHT_PROVIDER_TRAVELFUSION'; case Provider_Type.VERTEIL_FLIGHT: return 'FLIGHT_PROVIDER_VERTEIL'; case Provider_Type.ALL_CAR: return 'CAR_PROVIDER_PRICELINE'; case Provider_Type.CAR_PROVIDER_AMADEUS: return 'CAR_PROVIDER_AMADEUS'; case Provider_Type.EXPEDIA_HOTEL: return 'HOTEL_PROVIDER_EXPEDIA'; case Provider_Type.PRICELINE_HOTEL: return 'HOTEL_PROVIDER_PRICELINE'; case Provider_Type.TRAIN_FAKE_PROVIDER: return 'TRAIN_INVENTORY_FAKEPROVIDER_ALL'; case Provider_Type.TRAIN_FAKE_PROVIDER_CARRIER: return 'TRAIN_INVENTORY_FAKEPROVIDER_FAKECARRIER_1'; case Provider_Type.TRAIN_OVER_FLIGHTS: return 'TRAIN_OVER_FLIGHTS'; case Provider_Type.TRAIN_INVENTORY_TRAINLINE_OUIGO: return 'TRAIN_INVENTORY_TRAINLINE_OUIGO'; default: return ''; } } }