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

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

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

  it('C5809102: Onboard as self sell user from mobile as rogue persona', { tags: ['@tier1'] }, () => {
    SignUp.signupWithSkipAdmin(token, SignupReason.BOOK_TRIP, true);
    SignUp.continueOnDesktop();
    AmplitudeEvents.expectAmplitudeEventsToBeSent();
  });

  it('C5809694: Onboard as self sell user as admin of travel and expense - mobile', { tags: ['@tier1'] }, () => {
    SignUp.signupWithSkipAdmin(token, SignupReason.TRAVEL_AND_EXPENSE_SOLUTION, true);

    FreePricing.openAdminClaim();
    SignUp.continueOnDesktop();
    AmplitudeEvents.expectAmplitudeEventsToBeSent();
  });
});
