qe-fe-automation
Version:
FE test automation framework using cypress
118 lines (107 loc) • 4.14 kB
text/typescript
import { LoginPage } from '@admin-lib/index';
import { CreateAccountPage, SignupPage } from '@onboarding-lib/index';
import { Random, Utility } from '@utility-lib/index';
import { RewardsPage } from '@profile-lib/rewards';
const newUserCredentials = Cypress.env('newUser').NEW_USER_PASSWORD;
describe('Trips: Signup flow', () => {
let email: string;
let personalEmail: string;
beforeEach(() => {
email = 'user' + '_' + Random.randomString() + '@staging.tripactions.xyz';
personalEmail = 'personal' + '_' + Random.randomString() + '@staging.tripactions.xyz';
});
it('C365932 C365936: Should navigates to onboarding flow', { tags: ['@tier1'] }, () => {
LoginPage.visitTALoginPage();
LoginPage.initiateSignUpFlow(email);
SignupPage.verifySignupEmailInInitiateSignupScreen(email);
SignupPage.initiateSignup();
SignupPage.verifySignupTriggerMessage(email);
CreateAccountPage.completeOnboardingFlow(email, newUserCredentials);
Utility.verifyPageTitle('Navan - Book a Trip');
});
it(
'C2042574: Validate Navan Rewards Sign-up during onboarding',
{ tags: ['@tier2'] },
() => {
LoginPage.visitTALoginPage();
LoginPage.initiateSignUpFlow(email);
SignupPage.initiateSignup();
CreateAccountPage.completeOnboardingFlow(email, newUserCredentials, personalEmail);
Utility.verifyPageTitle('Navan - Book a Trip');
RewardsPage.visitRewardsPage();
RewardsPage.verifyRewardsEnabled();
}
);
});
describe('Expense only unified user onboarding', () => {
let email: string;
beforeEach(() => {
email = 'user' + '_' + Random.randomString() + '@gteon6.xyz';
});
it(
'C6367318: Verify email is shown as verified and first name, last name and password are validated and create account is disabled for Expense only User ',
{ tags: ['@tier1'] },
() => {
LoginPage.visitTALoginPage();
LoginPage.initiateSignUpFlow(email);
SignupPage.verifySignupEmailInInitiateSignupScreen(email);
SignupPage.initiateSignup();
SignupPage.verifySignupTriggerMessage(email);
CreateAccountPage.validateNameAndPwdInCreateAccount(
email,
'name123',
'pass',
'pass123'
);
}
);
it(
'C6367322: Verify user is redirected to Expense only page for Expense only user and Confetti is Shown after 1st time login ',
{ tags: ['@tier1'] },
() => {
LoginPage.visitTALoginPage();
LoginPage.initiateSignUpFlow(email);
SignupPage.verifySignupEmailInInitiateSignupScreen(email);
SignupPage.initiateSignup();
SignupPage.verifySignupTriggerMessage(email);
CreateAccountPage.completeUnfiedOnboardingCreateAccount(email, newUserCredentials);
Utility.verifyPageTitle('All transactions · Navan Expense');
}
);
});
describe('Travel & Expense unified user onboarding', () => {
let email: string;
beforeEach(() => {
email = 'user' + '_' + Random.randomString() + '@gtne1.xyz';
});
it(
'C6367316: Verify email is shown as verified and first name, last name and password are validated and create account is disabled for T& E User ',
{ tags: ['@tier1'] },
() => {
LoginPage.visitTALoginPage();
LoginPage.initiateSignUpFlow(email);
SignupPage.verifySignupEmailInInitiateSignupScreen(email);
SignupPage.initiateSignup();
SignupPage.verifySignupTriggerMessage(email);
CreateAccountPage.validateNameAndPwdInCreateAccount(
email,
'name123',
'pass',
'pass123'
);
}
);
it(
'C6367320: Verify user is redirected to Travel Home page, trips& expense tabs are shown for T&E user after 1st time login ',
{ tags: ['@tier1'] },
() => {
LoginPage.visitTALoginPage();
LoginPage.initiateSignUpFlow(email);
SignupPage.verifySignupEmailInInitiateSignupScreen(email);
SignupPage.initiateSignup();
SignupPage.verifySignupTriggerMessage(email);
CreateAccountPage.completeUnfiedOnboardingCreateAccount(email, newUserCredentials);
Utility.verifyPageTitle('Navan - Book a Trip');
}
);
});