const axios = require('axios'); const polylineLib = require('@mapbox/polyline'); require('dotenv').config({ path: '.env' }); const { googleMapsComputeRoute } = require('./src/travel.js'); async function testRoute(destination, expectedPrice) { const origin = "25 Impasse du Puits du Suc, Saint-Martin-en-Haut, France"; console.log(`\nTesting ${destination}...`); const req = { headers: { authorization: 'Bearer MOCK' }, body: { origin, destination, vehicleTollCategory: 2 } }; let resultBody = null; const res = { set: () => {}, status: () => res, json: (data) => { resultBody = data; return res; }, send: (data) => { resultBody = data; return res; } }; await googleMapsComputeRoute(req, res); if (resultBody.error) { console.error(`Error: ${resultBody.error}`); } else { const toll = resultBody.routes && resultBody.routes.length > 0 ? resultBody.routes[0].tollCost : 0; console.log(`Toll: ${toll}€ (Expected: ${expectedPrice}€)`); } } async function run() { // Mock Firebase auth specifically for this test const auth = require('./utils/auth'); auth.authenticateUser = async () => {}; await testRoute("Saint-Denis, France", 64.3); await testRoute("Grenoble, France", 21.7); await testRoute("Nice, France", 77.2); } run();