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

describe('Growth: pricing-v2', () => {
  let token: string;
  beforeEach(() => {
    GrowthInterceptApis.interceptApis();
    LoginSelfSell.createNewSelfSellLead().then((login) => {
      token = login.token;
    });
  });

  afterEach(() => {
    OnboardByApi.deleteLastOnboardedCompany();
  });

  it('C8193231: pricing-v2 - travel and expense persona', { tags: ['@tier1', '@onboardingGuideIndependent'] }, () => {
    SignUp.signupWithSkipAdmin(token, SignupReason.TRAVEL_AND_EXPENSE_SOLUTION, false);
    FreePricing.verifyExpensePricingScreenIsOpened();
    FreePricing.openAdminClaim();
    OnboardingGuide.verifyOnboardingGuideOpen();
    AmplitudeEvents.expectAmplitudeEventsToBeSent();
  });

  it('C8193232: pricing-v2 - travel persona', { tags: ['@tier1'] }, () => {
    SignUp.signupWithSkipAdmin(token, SignupReason.TRAVEL_SOLUTION, false);
    FreePricing.verifyTravelPricingScreenIsOpened();
    FreePricing.openAdminClaim();
  });

  it('C8195047: pricing-v2 - travel and expense persona - mobile web', { tags: ['@tier1'] }, () => {
    SignUp.signupWithSkipAdmin(token, SignupReason.TRAVEL_AND_EXPENSE_SOLUTION, true);
    FreePricing.verifyExpensePricingScreenIsOpened();
    FreePricing.openAdminClaim();
    SignUp.continueOnDesktop();
  });

  it('C8195048: pricing-v2 - travel persona - mobile web', { tags: ['@tier1'] }, () => {
    SignUp.signupWithSkipAdmin(token, SignupReason.TRAVEL_SOLUTION, true);
    FreePricing.verifyTravelPricingScreenIsOpened();
    FreePricing.openAdminClaim();
    SignUp.continueOnDesktop();
  });
});
