import { HotelInterceptApis, HotelItinerary, Hotels } from '@hotel-lib/index';
import { Rewards } from '../lib/rewards';
import { Utility } from '@utility-lib/utility';
import { LoginPage } from '@admin-lib/login';
import { stagingUsers } from '@fixtures/staging-users';

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

describe('Rewards: DR - Book for Others', () => {
  beforeEach(() => {
    LoginPage.visitTALoginPage();
    LoginPage.loginWithCredentials(stagingUsers.dr_user.email, newUserCredentials);
    HotelInterceptApis.interceptHotelApis();
  });

  it('C6755291: Only Delegate rewards - Booking for others', { tags: ['@tier2'] }, () => {
    Utility.selectVertical('hotel');
    Rewards.setTraveler(
      'user_c2ca4fbba7@9a416ee1eee9-navanrewards.staging.tripactions.xyz'
    );
    Hotels.setCheckInCheckOutDate();
    Hotels.selectHotelLocation('Seattle, WA, United States');
    Hotels.searchHotel();
    Rewards.verifyBookForOthersModal();
    Rewards.closeBookForOthersModal();
    Rewards.verifyRewardsBadgeShown();
    Rewards.selectRewardsHotel(0);
    Rewards.selectRewardsRoomOption();
    Rewards.checkoutRewardsRoom();
    Rewards.verifyBookerRewardsCardShown();
    Rewards.clickBookNow();
    Rewards.validateUpsellModal();
    HotelItinerary.cancelHotel();
  });
});
