import { eventData } from '@fixtures/event/event_data';
import {
  Hotels,
  HotelCheckout,
  HotelSearchResults,
  SearchButtonType,
  HotelInterceptApis
} from '@hotel-lib/index';
import { CreateEvent, EventsWorkflow, Invitations } from '@group-events-lib/index';
import { utilitySelector } from '@utility-lib/index';

describe('GME: Team event: hotel booking', () => {
  it('C51000: Book a hotel in the Team event', { tags: ['@tier1'] }, () => {
    EventsWorkflow.createCompanyAndTeamEvents();
    HotelInterceptApis.interceptHotelApis();
    CreateEvent.openSearchPage();
    Invitations.verifyInvitationName(eventData.eventName);
    CreateEvent.selectTeamEventVertical('hotel');
    cy.get(utilitySelector.dataTestID('hotel')).click();

    Hotels.searchHotel(SearchButtonType.EVENT);
    HotelSearchResults.selectHotel();
    HotelSearchResults.selectRoomOption();
    HotelCheckout.waitToBeLoaded(false);
    HotelCheckout.hotelCancellationAndChargePolicy();
    HotelCheckout.setPhoneNumber();
    HotelCheckout.checkIfProofOfVaccineRequired();
    HotelCheckout.acceptAcknowledgement();
    HotelCheckout.bookNow();
    HotelCheckout.expectHotelBookedSuccessfully('Hotel confirmed!');
  });
});
