import {
  GrowthInterceptApis,
  LoginSelfSell,
  SignUp,
  AmplitudeEvents,
  Persona,
  OnboardingGuide,
  SignupReason,
  FreePricing
} from '@growth-lib/index';

describe('Growth: flow with 2 users in the same company', () => {
  let token: string;
  let companyDomain: string;
  beforeEach(() => {
    GrowthInterceptApis.interceptApis();
  });

  it(
    'C5809696: Onboard as self sell user and redirect to onboarding guide menu',
    { tags: ['@tier1', '@onboardingGuideIndependent'] },
    () => {
      LoginSelfSell.createNewSelfSellLead({}).then((login) => {
        token = login.token;
        companyDomain = login.companyDomain;
        SignUp.signupWithSkipAdmin(token, SignupReason.TRAVEL_AND_EXPENSE_SOLUTION, false);

        FreePricing.openAdminClaim();

        OnboardingGuide.verifyOnboardingGuideOpen();
        OnboardingGuide.closeOnboardingGuide();
        AmplitudeEvents.expectAmplitudeEventsToBeSent();
      });
    }
  );

  it('C5809694: add new traveler in the same company', { tags: ['@tier1'] }, () => {
    LoginSelfSell.createNewSelfSellLead({
      tag: '+1',
      companyDomain
    }).then((login) => {
      token = login.token;
      SignUp.visitSignUp(token, 'MARKETING_PAGE');
      SignUp.fillUserDetail();
      SignUp.clickSubmit();
      Persona.nonPersonaFlow();
      AmplitudeEvents.expectAmplitudeEventsToBeSent();
    });
  });
});
