import {
  CancellationFlow,
  TrainSearchModalUtil,
  TrainTripType,
  DeutscheBahnBookingParams,
  TrainBookingManager,
  AgencyCurrency,
  TrainItinerary
} from '@train-lib/index';

describe('Train: Deutsche Bahn oneway cancellation workflow', () => {
  it('C48356: Should be able to book and cancel one way train ticket', { tags: ['@db', '@all_train_test'] }, () => {
    TrainSearchModalUtil.createCompanyWithProviderName({
      feeModelInfo: AgencyCurrency.Euro
    });
    TrainBookingManager.createFirstClassBooking({
      origin: DeutscheBahnBookingParams.Location.Berlin,
      destination: DeutscheBahnBookingParams.Location.Munich,
      trainClass: true,
      fareType: DeutscheBahnBookingParams.FareType.FIRST_CLASS,
      tripType: TrainTripType.ONEWAY
    });
    TrainItinerary.expectETicketIsDownloadable();
    CancellationFlow.executeTrainCancellation(
      'We will send your e-ticket(s) to your email and Navan mobile app',
      TrainTripType.ONEWAY
    );
  });
});
