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

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

  it(
    'C5809353: Onboard as self sell LHG user',
    { tags: ['@tier1', '@onboardingGuideIndependent'] },
    () => {
      SignUp.signupFlow(token, 'MARKETING_PAGE');
      SignUp.clickSubmit();
      AdminClaim.fillLhgAdminClaim();
      Affiliate.closePPBModal();
      OnboardingGuide.verifyOnboardingGuideOpen();
      OnboardingGuide.closeOnboardingGuide();
      AmplitudeEvents.expectAmplitudeEventsToBeSent();
      OnboardByApi.deleteLastOnboardedCompany();
    }
  );

  it(
    'C12231757: Onboard as self sell LHG user and Enter Slovakia as a country',
    { tags: ['@tier1', '@onboardingGuideIndependent'] },
    () => {
      SignUp.signupFlow(token, 'MARKETING_PAGE');
      SignUp.clickSubmit();
      AdminClaim.fillLhgAdminClaim(true, 'Slovakia');
      Affiliate.closePPBModal();
      OnboardingGuide.verifyOnboardingGuideOpen();
    }
  );
});
