xpeditis2.0/apps/backend/test-email-service.js
2025-12-05 13:55:40 +01:00

66 lines
2.6 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Test l'envoi d'email via le service backend
*/
const axios = require('axios');
const API_URL = 'http://localhost:4000/api/v1';
// Token d'authentification (admin@xpeditis.com)
const AUTH_TOKEN = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MTI3Y2M0Zi04Yzg4LTRjNGUtYmU1ZC1hNmY1ZTE2MWZlNDMiLCJlbWFpbCI6ImFkbWluQHhwZWRpdGlzLmNvbSIsInJvbGUiOiJBRE1JTiIsIm9yZ2FuaXphdGlvbklkIjoiMWZhOWE1NjUtZjNjOC00ZTExLTliMzAtMTIwZDEwNTJjZWYwIiwidHlwZSI6ImFjY2VzcyIsImlhdCI6MTc2NDg3NDQ2MSwiZXhwIjoxNzY0ODc1MzYxfQ.l_-97_rikGj-DP8aA14CK-Ab-0Usy722MRe1lqi0u9I';
async function testCsvBookingEmail() {
console.log('🧪 Test envoi email via CSV booking...\n');
try {
// Créer un FormData pour simuler l'upload de fichiers
const FormData = require('form-data');
const fs = require('fs');
const form = new FormData();
// Créer un fichier de test temporaire
const testFile = Buffer.from('Test document content');
form.append('documents', testFile, { filename: 'test-document.pdf', contentType: 'application/pdf' });
// Ajouter les champs du formulaire
form.append('carrierName', 'Test Carrier Email');
form.append('carrierEmail', 'test-carrier@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 sending');
console.log('📤 Envoi de la requête de création de CSV booking...');
const response = await axios.post(`${API_URL}/csv-bookings`, form, {
headers: {
...form.getHeaders(),
'Authorization': `Bearer ${AUTH_TOKEN}`
}
});
console.log('✅ Réponse reçue:', response.status);
console.log('📋 Booking créé:', response.data.id);
console.log('\n⚠ Vérifiez maintenant:');
console.log('1. Les logs du backend pour voir "Email sent to carrier:"');
console.log('2. Votre inbox Mailtrap: https://mailtrap.io/inboxes');
console.log('3. Email destinataire: test-carrier@example.com');
} catch (error) {
console.error('❌ Erreur:', error.response?.data || error.message);
if (error.response?.status === 401) {
console.error('\n⚠ Token expiré. Connectez-vous d\'abord avec:');
console.error('POST /api/v1/auth/login');
console.error('{ "email": "admin@xpeditis.com", "password": "..." }');
}
}
}
testCsvBookingEmail();