import { GrowthInterceptApis } from '@growth-lib/api-intercept';
import { LoginSelfSell } from '@support-growth/login-self-sell';
import { SignUp } from '@growth-lib/sign-up';
import { AdminClaim } from '@growth-lib/admin-claim';
import { FreePricing } from '@growth-lib/free-pricing';
import { DelegatePage } from '@growth-lib/delegate-page';
import { GrowthRegistrationUrls } from '@growth-lib/model';
import { OnboardByApi } from '@growth-lib/onboard-by-api';
import { SignupReason } from '../../../growth_common_lib';

describe('Affiliate: new company on-boarding for delegate user', () => {
  let token: string;
  beforeEach(() => {
    GrowthInterceptApis.interceptApis();
    LoginSelfSell.createNewSelfSellLead({
      registrationUrl: GrowthRegistrationUrls.travel
    }).then((login) => {
      token = login.token;
    });
  });

  it(
    'C9225857 C10135140: Web onboard as self sell user, make admin claim and check delegate dashboard, show corrcet tabs in admin dashboard',
    { tags: ['@tier1'] },
    () => {
      SignUp.signupWithSkipAdmin(token, SignupReason.BOOK_FOR_OTHERS, false);
      DelegatePage.closeWelcomeModal();
      DelegatePage.navigateToAdminPage();
      DelegatePage.verifyAdminPageShowThreeTabs();
      DelegatePage.navigateToAdminClaim();
      FreePricing.openAdminClaim();
      AdminClaim.fillAdminClaim();
      DelegatePage.verifyDelegateHomePageOpened();
      DelegatePage.navigateToAdminPage();
      DelegatePage.verifyAdminPageShowAllTabs();
      OnboardByApi.deleteLastOnboardedCompany();
    }
  );
});
