const fetch = require('node-fetch'); async function testCompanyDriversEndpoint() { try { console.log('🧪 Test de l\'endpoint /companies/{id}/drivers'); console.log('='.repeat(50)); // Test avec une compagnie existante (ID 1) const companyId = 1; const url = `http://localhost:3000/companies/${companyId}/drivers`; console.log(`📡 Requête GET: ${url}`); const response = await fetch(url, { method: 'GET', headers: { 'Content-Type': 'application/json', // Note: En production, il faudrait ajouter l'authentification // 'Authorization': 'Bearer YOUR_TOKEN' } }); console.log(`📊 Status: ${response.status} ${response.statusText}`); if (response.ok) { const data = await response.json(); console.log('✅ Réponse reçue avec succès:'); console.log(JSON.stringify(data, null, 2)); if (data.success && data.data) { console.log(`\n📈 Résumé:`); console.log(`- Total de chauffeurs: ${data.data.total}`); console.log(`- Page actuelle: ${data.data.page}`); console.log(`- Limite par page: ${data.data.limit}`); console.log(`- Nombre de chauffeurs retournés: ${data.data.data?.length || 0}`); } } else { const errorData = await response.text(); console.log('❌ Erreur dans la réponse:'); console.log(errorData); } } catch (error) { console.error('💥 Erreur lors du test:', error.message); if (error.code === 'ECONNREFUSED') { console.log('🔌 Le serveur backend n\'est pas démarré ou n\'écoute pas sur le port 3000'); } } } // Test avec pagination async function testWithPagination() { try { console.log('\n🧪 Test avec pagination'); console.log('='.repeat(30)); const companyId = 1; const url = `http://localhost:3000/companies/${companyId}/drivers?page=1&limit=5`; console.log(`📡 Requête GET: ${url}`); const response = await fetch(url); console.log(`📊 Status: ${response.status}`); if (response.ok) { const data = await response.json(); console.log('✅ Test pagination réussi'); console.log(`- Limite demandée: 5`); console.log(`- Chauffeurs retournés: ${data.data?.data?.length || 0}`); } } catch (error) { console.error('❌ Erreur test pagination:', error.message); } } // Test avec compagnie inexistante async function testNonExistentCompany() { try { console.log('\n🧪 Test avec compagnie inexistante'); console.log('='.repeat(40)); const companyId = 99999; const url = `http://localhost:3000/companies/${companyId}/drivers`; console.log(`📡 Requête GET: ${url}`); const response = await fetch(url); console.log(`📊 Status: ${response.status}`); if (response.status === 404) { console.log('✅ Gestion correcte de la compagnie inexistante (404)'); } else { const data = await response.json(); console.log('📄 Réponse:', JSON.stringify(data, null, 2)); } } catch (error) { console.error('❌ Erreur test compagnie inexistante:', error.message); } } // Exécution des tests async function runAllTests() { console.log('🚀 Démarrage des tests de l\'endpoint /companies/{id}/drivers\n'); await testCompanyDriversEndpoint(); await testWithPagination(); await testNonExistentCompany(); console.log('\n🏁 Tests terminés'); } runAllTests();