2022-05-07 16:17:37 +02:00
// todo: use import assertions once they're supported by Node.js & ESLint
// https://github.com/tc39/proposal-import-assertions
2024-02-06 22:58:49 +01:00
import { createRequire } from 'module' ;
const require = createRequire ( import . meta . url ) ;
2022-01-04 15:32:16 +01:00
2024-02-06 22:58:49 +01:00
import tap from 'tap' ;
import forEach from 'lodash/forEach.js' ;
2022-05-07 16:17:37 +02:00
import {
checkIfResponseIsOk as checkIfResIsOk ,
request ,
2024-02-06 22:58:49 +01:00
} from '../../lib/request.js' ;
2022-05-07 16:17:37 +02:00
import {
INVALID _REQUEST ,
NOT _FOUND ,
HafasError ,
HafasInvalidRequestError ,
HafasNotFoundError ,
2024-02-06 22:58:49 +01:00
} from '../../lib/errors.js' ;
import { formatTripReq } from '../../format/trip-req.js' ;
2022-05-07 16:17:37 +02:00
2024-12-07 23:48:08 +00:00
const resNoMatch = { "verbindungen" : [ ] , "verbindungReference" : { } , "fehlerNachricht" : { "code" : "MDA-AK-MSG-1001" , "ueberschrift" : "Datum liegt außerhalb der Fahrplanperiode." , "text" : "Das Datum liegt außerhalb der Fahrplanperiode." } } ;
2022-01-04 15:32:16 +01:00
2024-02-06 22:58:49 +01:00
const USER _AGENT = 'public-transport/hafas-client:test' ;
2022-01-04 15:32:16 +01:00
2024-02-06 22:58:49 +01:00
const secret = Symbol ( 'secret' ) ;
2022-05-07 16:17:37 +02:00
2024-12-07 23:48:08 +00:00
tap . test ( 'checkIfResponseIsOk properly throws HAFAS errors' , ( t ) => {
2022-05-07 16:17:37 +02:00
try {
checkIfResIsOk ( {
body : resNoMatch ,
errProps : { secret } ,
2024-02-06 22:58:49 +01:00
} ) ;
2022-05-07 16:17:37 +02:00
} catch ( err ) {
2024-02-06 22:58:49 +01:00
t . ok ( err ) ;
2022-05-07 16:17:37 +02:00
2024-02-06 22:58:49 +01:00
t . ok ( err instanceof HafasError ) ;
t . equal ( err . isHafasError , true ) ;
t . ok ( err instanceof HafasError ) ;
t . equal ( err . isCausedByServer , false ) ;
2024-12-07 23:48:08 +00:00
t . equal ( err . code , 'MDA-AK-MSG-1001' ) ;
2022-05-07 16:17:37 +02:00
2024-12-07 23:48:08 +00:00
t . equal ( err . hafasMessage , 'Datum liegt außerhalb der Fahrplanperiode.' ) ;
t . equal ( err . hafasDescription , 'Das Datum liegt außerhalb der Fahrplanperiode.' ) ;
2022-05-07 16:17:37 +02:00
2024-02-06 22:58:49 +01:00
t . end ( ) ;
2022-05-07 16:17:37 +02:00
}
2024-02-06 22:58:49 +01:00
} ) ;