Files
EM2_ERP/em2rp/functions/test_routes_strict.js
T

41 lines
1.3 KiB
JavaScript

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();