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