const axios = require('axios'); const FormData = require('form-data'); const API_URL = 'http://localhost:4000/api/v1'; async function loginAndTestEmail() { try { // 1. Login console.log('🔐 Connexion...'); const loginResponse = await axios.post(`${API_URL}/auth/login`, { email: 'admin@xpeditis.com', password: 'Admin123!@#' }); const token = loginResponse.data.accessToken; console.log('✅ ConnectĂ© avec succĂšs\n'); // 2. CrĂ©er un CSV booking pour tester l'envoi d'email console.log('📧 CrĂ©ation d\'une CSV booking pour tester l\'envoi d\'email...'); const form = new FormData(); const testFile = Buffer.from('Test document PDF content'); form.append('documents', testFile, { filename: 'test-doc.pdf', contentType: 'application/pdf' }); form.append('carrierName', 'Test Carrier'); form.append('carrierEmail', 'testcarrier@example.com'); form.append('origin', 'NLRTM'); form.append('destination', 'USNYC'); form.append('volumeCBM', '25.5'); form.append('weightKG', '3500'); form.append('palletCount', '10'); form.append('priceUSD', '1850.50'); form.append('priceEUR', '1665.45'); form.append('primaryCurrency', 'USD'); form.append('transitDays', '28'); form.append('containerType', 'LCL'); form.append('notes', 'Test email'); const bookingResponse = await axios.post(`${API_URL}/csv-bookings`, form, { headers: { ...form.getHeaders(), 'Authorization': `Bearer ${token}` } }); console.log('✅ CSV Booking créé:', bookingResponse.data.id); console.log('\n📋 VÉRIFICATIONS À FAIRE:'); console.log('1. VĂ©rifier les logs du backend ci-dessus'); console.log(' Chercher: "Email sent to carrier: testcarrier@example.com"'); console.log('2. VĂ©rifier Mailtrap inbox: https://mailtrap.io/inboxes'); console.log('3. Email devrait ĂȘtre envoyĂ© Ă : testcarrier@example.com'); console.log('\n⏳ Attendez quelques secondes puis vĂ©rifiez les logs du backend...'); } catch (error) { console.error('❌ ERREUR:'); if (error.response) { console.error('Status:', error.response.status); console.error('Data:', JSON.stringify(error.response.data, null, 2)); } else { console.error(error.message); } } } loginAndTestEmail();