UNPKG

qe-fe-automation

Version:
55 lines (50 loc) 1.92 kB
import { AUTH_TOKEN } from 'cypress/support/commands'; import { bahnCard50Business, italo, sncf, trenItalia, ukRailNetworkCard } from './index'; const newUserCreds = Cypress.env('newUser').NEW_USER_PASSWORD; function loginAndRetrieveData(): Cypress.Chainable<string> { cy.clearLocalStorage(); cy.clearCookies(); return cy.task<string>('getDataFromCache', 'userEmail').then((email: string) => { return cy.loginWithAuthToken({ email: email, password: newUserCreds, isSA: true }); }); } Cypress.Commands.add('createTrainCard', (cardData: any) => { return cy.request({ method: 'POST', url: `api/trip/train/v1/trainCards`, headers: { Authorization: AUTH_TOKEN, Accept: 'application/json' }, body: cardData, retryOnStatusCodeFailure: true }); }); Cypress.Commands.add('getUserLoyaltyProgramMemberships', () => { loginAndRetrieveData().then(() => { cy.task('getDataFromCache', 'userResponse').then(({ uuid, email }: any) => { cy.log('user: ' + email); cy.log('uuid: ' + uuid); cy.createTrainCard({ trainCardTypeId: ukRailNetworkCard }) .then((response) => { cy.log('Train Card UkRail NetworkCard Response Status: ' + response.status); return cy.createTrainCard(bahnCard50Business); }) .then((response) => { cy.log(`Train Card Deutsche bahn Response Status: ` + response.status); return cy.createTrainCard(trenItalia); }) .then((response) => { cy.log('Train Card TrenItalia Response Status: ' + response.status); return cy.createTrainCard(italo); }) .then((response) => { cy.log('Train Card Italo Response Status: ' + response.status); return cy.createTrainCard(sncf); }) .then((response) => { cy.log('Train Card SNCF Response Status: ' + response.status); }); }); }); });