import { LoginPage } from '@admin-lib/index';
import { FlightSearchResults, FlightTripType } from '@flight-lib/index';
import { FlightBookingUtility, FlightUtility } from '@flight-modal/index';
import { User_Type } from '@support-onboard/index';
import { LocationUtility, Timeouts } from '@utility-lib/index';

const creds = Cypress.env('newUser').NEW_USER_PASSWORD;

describe('Flight: Deep link search', () => {
  it('C365930: FE - DeepLinks', { tags: ['@tier1'] }, () => {
    const flightBookingParams = FlightBookingUtility.initFlightBookingParams({
      locations: LocationUtility.getPairOfOriginAndDestinationAirportsUS(),
      flightTripType: FlightTripType.ROUNDTRIP,
      tripTileType: 'Business'
    });
    FlightUtility.prepareCompanyAndUserCreation(User_Type.ADMIN);
    FlightUtility.runSearchFlow(flightBookingParams);
    let currentUrl = '';
    cy.url().then((urlString) => {
      currentUrl = urlString;
    });
    LoginPage.clearExistingLoginSession();
    cy.task('getDataFromCache', 'userEmail').then((email: any) => {
      LoginPage.visitTALoginPage();
      LoginPage.loginWithCredentials(email, creds);
      cy.wait(Timeouts.SHORT_TIMEOUT_3_SEC.timeout);
      cy.visit(currentUrl);
      FlightSearchResults.verifyNumberOfBookings();
    });
  });
});
