import { END_DAY } from '../src/constants/age-can-valid-until'; import { ALL } from '../src/constants/profiles-must-have'; import { IsPhotoRequiredEnum } from '../src/enums/is-photo-required.enum'; import { QrCodeType } from '../src/enums/qrcode-type'; import { ValidationState } from '../src/enums/validation-state'; import { ValidateTicketArgs } from '../src/interfaces/validation/validate-ticket.args'; import { Validation } from '../src/interfaces/validation/validation.model'; /**************** TICKETS ****************/ export const TICKET_UNITAIRE_MULHOUSE = { id: '9cd0ee48-8ab0-4d99-abb2-5e6a8e790aeb', validityDateFrom: '2022-01-01T00:00:00.000Z', validityDateUntil: '2023-01-01T00:00:00.000Z', validationDateFrom: '2022-01-01T00:00:00.000Z', validationDateUntil: '2023-01-01T00:00:00.000Z', userId: '277d25b8-8ba9-4e84-85a3-b67791b09854', name: '1 Voyage 1 Heure', network: 'mulhouse', lastValidation: { id: '74d7a95c-5367-4120-bb52-ea72b6c74177', qrCode: null, coordinates: null, createdAt: '2022-09-30T08:06:29.495Z', validUntil: '2022-09-30T09:06:29.145Z', state: 'VALID', passengers: 1, externalQrCode: null, }, lastValidValidation: { id: '74d7a95c-5367-4120-bb52-ea72b6c74177', qrCode: null, coordinates: null, createdAt: '2022-09-30T08:06:29.495Z', validUntil: '2022-09-30T09:06:29.145Z', state: 'VALID', passengers: 1, externalQrCode: null, }, service: { id: 'mulhouse:solea', }, deviceId: 'b4c8f225f9f1e2c7', createdAt: '2022-09-30T08:06:29.145Z', autoValidation: true, enabled: true, networks: ['mulhouse'], minPassengers: 1, maxPassengers: 20, ticketDuration: 3600, ticketDurationValue: 3600, ticketDurationUnit: 'SECOND', validationDurationValue: 3600, validationDurationValueUnit: 'SECOND', maxValidations: 1, nbValidations: 1, firstValidation: { createdAt: '2022-09-30T08:06:29.495Z', }, passengers: [], isPhotoRequired: 'NO' as IsPhotoRequiredEnum, language: 'fr', signature: { keyId: 'maasify-202111', signature: 'KrS9FVwsZJuAcRmd5lTYOZKW02FbN64tHwRkiO4Ffno7uTnOtTpz7UkKjRO1Lm5BUtaVXTOLLuOMrt5dDlt0eg==', }, ticketOrderLine: { id: '8ef1aabd-f648-470a-8614-a17eced389dd', productVariant: { id: 'b3d20d59-1b46-4b47-b033-7e935d2f632a', sku: 'solea-1-voyage-1h', name: '1 Voyage 1 Heure', priceWithTax: 130, }, order: { totalWithTax: 130, createdAt: '2022-09-30T08:06:26.396Z', code: 'RKFFZ6M1GY2ULFDY', id: '63476889-8b2b-41c8-8ee4-5e251e398945', }, }, description: "

La validation de ce titre te permet de voyager pendant 60 minutes sur l'ensemble du réseau Soléa. L'aller-retour et les correspondances sont possibles pendant toute la durée de validité de ton titre. Astuce : si tu valides suffisamment de tickets et que tu atteins le prix de l'abonnement mensuel (en fonction de ton âge), tu ne seras jamais facturé au-delà !

", owner: 'mulhouse:solea', issuer: 'Mybus', allowTransfer: false, dateFrom: '2022-09-30T08:06:29.145Z', dateUntil: '2022-09-30T09:06:30.318Z', ageFrom: 0, ageUntil: -1, profiles: [], isRecurrentAuto: false, ageCanValidUntil: END_DAY, ticketType: 'ROLLING', meanOfValidation: 'AUTO_VALIDATION', validationDelay: 0, offlineValidation: true, payAsYouGo: false, shopId: 'vendure:mulhouse', shouldExpirationReminder: false, }; // Abonnement mensuel -26 ans pour Octobre 2022 export const TICKET_ABONNEMENT_MENSUEL_MOINS_26_ANS_OCTOBRE = { id: '800ddfc6-f052-4155-a721-7ffd17eb20ce', userId: '277d25b8-8ba9-4e84-85a3-b67791b09854', name: 'Abonnement mensuel - de 26 ans', network: 'mulhouse', lastValidation: null, lastValidValidation: null, service: { id: 'mulhouse:solea', }, deviceId: 'b4c8f225f9f1e2c7', createdAt: '2022-09-30T08:19:55.518Z', autoValidation: false, enabled: true, networks: ['mulhouse'], minPassengers: 1, maxPassengers: 1, ticketDuration: -1, ticketDurationValue: 31, ticketDurationUnit: 'DAY', validationDurationValue: -1, validationDurationValueUnit: 'SECOND', maxValidations: -1, nbValidations: 0, firstValidation: { validUntil: '2022-11-01T00:00:00.000Z', }, passengers: [{ birthdate: '2008-09-30', profiles: ['mulhouse:-26ans'] }], language: 'fr', signature: { keyId: 'maasify-202111', signature: 'YQumF5CQCS/uiPIl4SXgYZvORzN95ohtHadSfuTwOzqpQPe0gedZuQkAn5iIzlcMi+vkp5GFhEXqye+D/p2KgA==', }, ticketOrderLine: { id: '0fcc065a-879a-44b9-aa22-e26443edeb4b', productVariant: { id: 'b808f780-488f-4489-887d-aa42b3cdd93c', sku: 'solea-abonnement-mensuel-26-ans-octobre-2022', name: 'Abonnement mensuel - de 26 ans Octobre 2022', priceWithTax: 2050, }, order: { totalWithTax: 2050, createdAt: '2022-09-30T08:19:49.518Z', code: 'L1DU87WWQ4V6BHE2', id: '190e7684-fe25-41c6-8c60-62e88d898051', }, }, description: "

Cet abonnement mensuel te donne droit à nombre illimité de voyages sur le réseau Soléa du 1er au dernier jour du mois. En cas de problème avec l'application ou avec ton téléphone (batterie par exemple), tu dois te munir d'un titre de transport et le valider afin de voyager en règle.
Attention, l'achat cet abonnement est soumis à une vérification de ton âge à l'étape suivante.
Une fois le paiement de cet abonnement effectué, tu auras accès à un reçu pour obtenir le remboursement de la moitié du tarif par ton employeur.

", owner: 'mulhouse:solea', issuer: 'Mybus', allowTransfer: true, dateFrom: '2022-10-01T00:00:00.000Z', dateUntil: '2022-11-01T00:00:00.000Z', ageFrom: 0, ageUntil: 26, profiles: ['mulhouse:-26ans'], isRecurrentAuto: false, ageCanValidUntil: END_DAY, profilesMustHave: ALL, ticketType: 'CALENDAR', meanOfValidation: 'MANUAL', validationDelay: 0, offlineValidation: true, payAsYouGo: false, shopId: 'vendure:mulhouse', shouldExpirationReminder: true, }; // Ticket GQL, comes from graal-ticket getTicket() output export const TICKET_ABONNEMENT_ANNUEL_MOINS_26_ANS = { id: 'f8264a10-ef9f-4600-b83e-67c1b8157f09', userId: '277d25b8-8ba9-4e84-85a3-b67791b09854', name: 'Abonnement annuel - de 26 ans', network: 'mulhouse', lastValidation: { id: '573bd76d-cd14-48d8-8fc3-0d78730ca759', qrCode: null, coordinates: null, createdAt: '2022-09-30T08:50:01.000Z', validUntil: '2023-09-30T08:22:31.396Z', state: 'INVALID', passengers: 1, externalQrCode: null, }, lastValidValidation: null, service: { id: 'mulhouse:solea', }, deviceId: 'b4c8f225f9f1e2c7', createdAt: '2022-09-30T08:22:32.396Z', autoValidation: false, enabled: true, networks: ['mulhouse'], minPassengers: 1, maxPassengers: 1, ticketDuration: 31535999, ticketDurationValue: 1, ticketDurationUnit: 'YEAR', validationDurationValue: -1, validationDurationValueUnit: 'SECOND', maxValidations: 1, nbValidations: 0, firstValidation: { validUntil: '2022-10-01T00:00:00.000Z', }, passengers: [{ birthdate: '2008-09-30', profiles: ['mulhouse:-26ans'] }], language: 'fr', signature: { keyId: 'maasify-202111', signature: 'd+s78bcWsmbIkH3QyroPptI6jVDBQNz+BIjjDF1zYQflDu6XBAtj9/0UNHXetC6BCP2hkhb4c6XVOREbuucXdg==', }, ticketOrderLine: { id: '20d48d49-cdba-4f05-8d64-b4db238ef88f', productVariant: { id: '21d66d88-5cd2-4e10-bdfc-dfc610de0ef1', sku: 'solea-abonnement-annuel-26-ans', name: 'Abonnement annuel - de 26 ans', priceWithTax: 19500, }, order: { totalWithTax: 19500, createdAt: '2022-09-30T08:22:09.910Z', code: 'YYZ88C4Z7WXRGT1D', id: '373115ef-7905-445b-a9dc-ddec9bc9c2c2', }, }, description: "

Cet abonnement annuel te donne droit à nombre illimité de voyages sur le réseau Soléa pendant 1 an.
En cas de problème avec l'application ou avec ton téléphone (batterie par exemple), tu dois te munir d'un titre de transport et le valider afin de voyager en règle.
Attention, l'achat cet abonnement est soumis à une vérification de ton âge à l'étape suivante.
Une fois le paiement de cet abonnement effectué, tu auras accès à un reçu pour obtenir le remboursement de la moitié du tarif par ton employeur.

", owner: 'mulhouse:solea', issuer: 'Mybus', allowTransfer: true, dateFrom: '2022-09-30T08:22:32.396Z', dateUntil: null, ageFrom: 0, ageUntil: 26, profiles: ['mulhouse:-26ans'], isRecurrentAuto: false, ageCanValidUntil: END_DAY, profilesMustHave: ALL, ticketType: 'CALENDAR', meanOfValidation: 'MANUAL', validationDelay: 0, offlineValidation: true, payAsYouGo: false, shopId: 'vendure:mulhouse', shouldExpirationReminder: true, }; // Ticket GQL, comes from graal-ticket getTicket() output export const TICKET_ABO_MENSUEL_26_64_ANS = { id: 'e5d7745a-7219-408f-9a1e-2d2c4323b26f', userId: 'f09c2f2b-280d-414a-9f1a-1175a6677881', name: 'Abonnement mensuel 26-64 ans', network: 'mulhouse', lastValidation: null, lastValidValidation: null, service: { id: 'mulhouse:solea', }, deviceId: 'web_984810764', createdAt: '2022-09-30T13:49:14.177Z', autoValidation: false, enabled: true, networks: ['mulhouse'], minPassengers: 1, maxPassengers: 1, ticketDuration: -1, maxValidations: -1, nbValidations: 0, firstValidation: null, passengers: [{ id: 'f09c2f2b-280d-414a-9f1a-1175a6677881', birthdate: '1990-09-30' }], language: 'fr', signature: { keyId: 'maasify-202111', signature: 'MK3n2bzqU+XEL4/C0q6kbXlMbATrGq/JP8v8m0RU1+BIBhvui4WSyD+YWJRN7m4Mw+BJFcHk/KJLrF2wfWhlhw==', }, ticketOrderLine: { id: '5c24d1cc-4041-4997-8770-d63606b7be5c', productVariant: { id: '374e0176-be21-4936-a57a-6a5cc47dd08c', sku: 'solea-abonnement-mensuel-septembre-2022', name: 'Abonnement mensuel 26-64 ans septembre', priceWithTax: 4350, }, order: { totalWithTax: 4350, createdAt: '2022-09-30T13:49:07.041Z', code: 'GTCNQ8MYS6USECSD', id: '25449e5a-6d6a-477a-a492-375ff5c1c588', }, }, description: "

Cet abonnement mensuel te donne droit à nombre illimité de voyages sur le réseau Soléa du 1er au dernier jour du mois. En cas de problème avec l'application ou avec ton téléphone (batterie par exemple), tu dois te munir d'un titre de transport et le valider afin de voyager en règle.
Une fois le paiement de cet abonnement effectué, tu auras accès à un reçu pour obtenir le remboursement de la moitié du tarif par ton employeur.

", owner: 'mulhouse:solea', issuer: 'Mybus', allowTransfer: true, dateFrom: '2022-09-01T00:00:00.000Z', dateUntil: '2022-10-01T00:00:00.000Z', ageFrom: null, ageUntil: null, profiles: [], isRecurrentAuto: false, }; /**************** VALIDATIONS ****************/ export const VALIDATION_STATE_VALID: Validation = { id: 'id', passengers: 1, coordinates: [7.3289, 47.7491], validFrom: new Date('2022-09-29 12:30:00'), qrCode: { encoding: '946e6313-379c-4286-95a9-f89ab3a26b50', display: '123', type: QrCodeType.UNKNOWN, }, state: ValidationState.VALID, createdAt: new Date(), validUntil: new Date('2022-09-30 17:30:00'), }; export const VALIDATION_INPUT: ValidateTicketArgs = { ticketId: 'ticketid', currentDate: new Date('2022-09-30 16:29:00'), input: { network: 'mulhouse', qrCodeId: 'qrCodeId', validationDate: new Date('2022-09-30 16:30:00'), passengers: 1, }, };