import { tasksService } from '../services/tasks'; import { TaskStatus, TaskPriority } from '../lib/types'; /** * Script pour ajouter des données de test avec tags et variété */ async function seedTestData() { console.log('🌱 Ajout de données de test...'); console.log('================================'); const testTasks = [ { title: '🎨 Redesign du dashboard', description: 'Créer une interface moderne et intuitive pour le tableau de bord principal', status: 'in_progress' as TaskStatus, priority: 'high' as TaskPriority, tags: ['design', 'ui', 'frontend'], dueDate: new Date('2025-01-20') }, { title: '🔧 Optimiser les performances API', description: 'Améliorer les temps de réponse des endpoints et ajouter la pagination', status: 'todo' as TaskStatus, priority: 'medium' as TaskPriority, tags: ['backend', 'performance', 'api'], dueDate: new Date('2025-01-25') }, { title: '✅ Tests unitaires composants', description: 'Ajouter des tests Jest/RTL pour les composants principaux', status: 'done' as TaskStatus, priority: 'medium' as TaskPriority, tags: ['testing', 'jest', 'quality'], dueDate: new Date('2025-01-10') } ]; let createdCount = 0; let errorCount = 0; for (const taskData of testTasks) { try { const task = await tasksService.createTask(taskData); const statusEmoji = { 'todo': '⏳', 'in_progress': '🔄', 'done': '✅', 'cancelled': '❌' }[task.status]; const priorityEmoji = { 'low': '🔵', 'medium': '🟡', 'high': '🔴' }[task.priority]; console.log(` ${statusEmoji} ${priorityEmoji} ${task.title}`); console.log(` Tags: ${task.tags?.join(', ') || 'aucun'}`); if (task.dueDate) { console.log(` Échéance: ${task.dueDate.toLocaleDateString('fr-FR')}`); } console.log(''); createdCount++; } catch (error) { console.error(` ❌ Erreur pour "${taskData.title}":`, error instanceof Error ? error.message : error); errorCount++; } } console.log('📊 Résumé:'); console.log(` ✅ Tâches créées: ${createdCount}`); console.log(` ❌ Erreurs: ${errorCount}`); // Afficher les stats finales const stats = await tasksService.getTaskStats(); console.log(''); console.log('📈 Statistiques finales:'); console.log(` Total: ${stats.total} tâches`); console.log(` À faire: ${stats.todo}`); console.log(` En cours: ${stats.inProgress}`); console.log(` Terminées: ${stats.completed}`); console.log(` Annulées: ${stats.cancelled}`); console.log(` Taux de completion: ${stats.completionRate}%`); } // Exécuter le script if (require.main === module) { seedTestData().then(() => { console.log(''); console.log('✨ Données de test ajoutées avec succès !'); process.exit(0); }).catch((error) => { console.error('💥 Erreur fatale:', error); process.exit(1); }); } export { seedTestData };