import {
  buildPassengerInfo,
  buildPaymentMethod,
  Employee,
  generateBookingId,
  getFiveDaysAgoDate,
  getFiveHoursLaterDate,
  getOneMonthAheadDate
} from '@fixtures/navan_pro/reed_mackay_booking/common';
import { faker } from '@faker-js/faker';

export const buildRailForEmployee = (employee: Employee) => {
  return {
    bookingStatus: 'CONFIRMED',
    bookingId: generateBookingId(),
    employeeId: employee.uuid,
    amount: faker.datatype.number({ max: 500, min: 20 }),
    cancelable: faker.datatype.boolean(),
    orderDateTime: getFiveDaysAgoDate(),
    serviceFee: faker.datatype.number({ max: 50 }),
    currency: 'USD',
    confirmationNumber: '321654987',
    personal: false,
    passengerInfo: [buildPassengerInfo(employee)],
    paymentMethod: buildPaymentMethod(),
    ticketInfoList: [
      {
        trainNumber: 'TRAIN-TEST',
        departureTime: getOneMonthAheadDate(),
        arrivalTime: getFiveHoursLaterDate(getOneMonthAheadDate()),
        departureStationEn: 'LONDON ST PANCRAS',
        departureStation: 'LONDON ST PANCRAS',
        arrivalStationEn: 'BECCLES',
        arrivalStation: 'BECCLES',
        coach: 'N/A',
        seat: 'ECONOMY',
        duration: 240,
        fareClass: 'B',
        cabin: 'ECONOMY'
      }
    ]
  };
};
