import { LoginPage } from '@admin-lib/login';
import {
  RentalCarInterceptApis,
  Trips,
  RentalCarDropOffType,
  RentalCarUtility,
  RentalCarOperators,
  RentalCarLocationType,
  RentalCarParams,
  Provider_Type,
  User_Type,
  LocationUtility
} from '@rentalCar-lib/index';

describe.skip('Rental car: Sabre Enterprise Direct Bill ', () => {
  it(
    'C3810613: User should be able to book car using Direct bill and validate the booking data response',
    { tags: ['@tier1'] },
    () => {
      LoginPage.createNewCompanyAndLoginWithUserByType({
        providers: [Provider_Type.ALL_CAR],
        users: [User_Type.ADMIN]
      });
      cy.createDirectBillPaymentMethod(RentalCarOperators.ENTERPRISE, 'CD-1234567');
      RentalCarInterceptApis.interceptRentalCarApis();
      const rentalCarParams: RentalCarParams = {
        tripTileType: 'Business',
        dropOffType: RentalCarDropOffType.sameDropOff,
        pickUpLocation: LocationUtility.getRentalCarAirportUS(),
        rentalCarLocationType: RentalCarLocationType.airport,
        directBill: true,
        rentalCarOperator: 'Enterprise'
      };
      RentalCarUtility.bookingWorkflow(rentalCarParams);

      Trips.expectPaymentTypeIsDirectBill();
      cy.expectDirectBillBookingIsSuccessful('Enterprise Direct Bill');
    }
  );
});
