| 
									
										
										
										
											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); | 
					
						
							| 
									
										
										
										
											2019-08-19 20:42:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-06 22:58:49 +01:00
										 |  |  | import tap from 'tap'; | 
					
						
							| 
									
										
										
										
											2019-08-19 20:42:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-06 22:58:49 +01:00
										 |  |  | import {createClient} from '../index.js'; | 
					
						
							|  |  |  | import {profile as rawProfile} from '../p/vbb/index.js'; | 
					
						
							|  |  |  | const res = require('./fixtures/vbb-departures.json'); | 
					
						
							|  |  |  | import {vbbDepartures as expected} from './fixtures/vbb-departures.js'; | 
					
						
							| 
									
										
										
										
											2019-08-19 20:42:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-06 22:58:49 +01:00
										 |  |  | const client = createClient(rawProfile, 'public-transport/hafas-client:test'); | 
					
						
							|  |  |  | const {profile} = client; | 
					
						
							| 
									
										
										
										
											2019-08-19 20:42:19 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | const opt = { | 
					
						
							|  |  |  | 	direction: null, | 
					
						
							|  |  |  | 	duration: 10, | 
					
						
							|  |  |  | 	linesOfStops: true, | 
					
						
							|  |  |  | 	remarks: true, | 
					
						
							|  |  |  | 	stopovers: true, | 
					
						
							|  |  |  | 	includeRelatedStations: true, | 
					
						
							| 
									
										
										
										
											2021-10-12 17:46:43 +02:00
										 |  |  | 	when: '2021-10-12T17:42:00+02:00', | 
					
						
							| 
									
										
										
										
											2024-02-06 22:58:49 +01:00
										 |  |  | 	products: {}, | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2019-08-19 20:42:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-20 16:42:43 +01:00
										 |  |  | tap.test('parses a departure correctly (VBB)', (t) => { | 
					
						
							| 
									
										
										
										
											2024-02-06 22:58:49 +01:00
										 |  |  | 	const common = profile.parseCommon({profile, opt, res}); | 
					
						
							|  |  |  | 	const ctx = {profile, opt, common, res}; | 
					
						
							|  |  |  | 	const departures = res.jnyL.map(d => profile.parseDeparture(ctx, d)); | 
					
						
							| 
									
										
										
										
											2019-08-19 20:42:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-06 22:58:49 +01:00
										 |  |  | 	t.same(departures, expected); | 
					
						
							|  |  |  | 	t.end(); | 
					
						
							|  |  |  | }); |