import { stagingUsers } from '@fixtures/staging-users';
import { LoginPage } from '@admin-lib/login';
import { OnboardingGuide } from '@growth-lib/onboarding-guide';
import { GrowthInterceptApis } from '@growth-lib/api-intercept';
import { GrowthUtilities } from '@growth-lib/growth-utilities';
import { ONBOARDING_GUIDE_SELECTORS, URL_VERIFY } from '@growth-lib/onboarding-guide.utils';
import { Timeouts } from '@utility-lib/constants';

const { traditional_company } = stagingUsers;
const sabrePassword = Cypress.env('login').SABRE_PASSWORD;

describe.skip('Affiliate: Login existing company and check onboarding guide pages for traditional company', () => {
  beforeEach(() => {
    GrowthInterceptApis.interceptApis();
    LoginPage.clearExistingLoginSession();
    LoginPage.visitTALoginPage();
  });

  it(
    'C12340838: should check that the onboarding guide opened for travel company in traditional',
    { tags: ['@tier1', '@onboardingGuideIndependent'] },
    () => {
      LoginPage.loginWithCredentials(traditional_company.emailTravel, sabrePassword);
      OnboardingGuide.checkUrl(URL_VERIFY.HOME);
      OnboardingGuide.clickOn(ONBOARDING_GUIDE_SELECTORS.addressGetStartedButton);
      OnboardingGuide.checkUrl(URL_VERIFY.BILLABLE_ENTITIES);
      OnboardingGuide.openOnboardingGuide();
      OnboardingGuide.completeGetReadyToTravel();
      OnboardingGuide.openOnboardingGuide();
      OnboardingGuide.checkPageAddAndInviteUsers();
    }
  );

  it(
    'C12448035: should check that the onboarding guide opened for expense company in traditional',
    { tags: ['@tier1', '@onboardingGuideIndependent'] },
    () => {
      LoginPage.loginWithCredentials(traditional_company.emailExpense, sabrePassword);
      OnboardingGuide.checkUrl(URL_VERIFY.USER_TRANSACTIONS);
      OnboardingGuide.openOnboardingGuide();
      OnboardingGuide.clickOn(ONBOARDING_GUIDE_SELECTORS.addressGetStartedButton);
      cy.wait(Timeouts.SHORT_TIMEOUT_5_SEC.timeout);
      OnboardingGuide.checkUrl(URL_VERIFY.BILLABLE_ENTITIES);

      OnboardingGuide.openOnboardingGuide();
      OnboardingGuide.checkPageAddAndInviteUsers();
    }
  );

  it(
    'C12448036: should check that the onboarding guide opened for travel and expense company in traditional',
    { tags: ['@tier1', '@onboardingGuideIndependent'] },
    () => {
      LoginPage.loginWithCredentials(traditional_company.emailTravelAndExpense, sabrePassword);
      OnboardingGuide.checkUrl(URL_VERIFY.HOME);
      GrowthUtilities.hideLiquidUnifiedListBanner();
      OnboardingGuide.checkAddressAndAddCard();

      OnboardingGuide.openOnboardingGuide();
      OnboardingGuide.completeGetReadyToTravel();

      OnboardingGuide.openOnboardingGuide();
      OnboardingGuide.verifyLockedTask(ONBOARDING_GUIDE_SELECTORS.getReadyToExpenseTask);
      OnboardingGuide.closeOnboardingGuide();

      OnboardingGuide.openOnboardingGuide();
      OnboardingGuide.checkPageAddAndInviteUsers();
    }
  );
});
