import { tasksService } from '../src/services/task-management/tasks'; import { TaskStatus, TaskPriority } from '../src/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: '🎨 Design System Implementation', description: 'Create and implement a comprehensive design system with reusable components', status: 'in_progress' as TaskStatus, priority: 'high' as TaskPriority, tags: ['design', 'ui', 'frontend'], dueDate: new Date('2025-12-31'), }, { title: '🔧 API Performance Optimization', description: 'Optimize API endpoints response time and implement pagination', status: 'todo' as TaskStatus, priority: 'medium' as TaskPriority, tags: ['backend', 'performance', 'api'], dueDate: new Date('2025-12-15'), }, { title: '✅ Test Coverage Improvement', description: 'Increase test coverage for core components and services', status: 'todo' as TaskStatus, priority: 'medium' as TaskPriority, tags: ['testing', 'quality'], dueDate: new Date('2025-12-20'), }, { title: '📱 Mobile Responsive Design', description: 'Ensure all pages are fully responsive on mobile devices', status: 'todo' as TaskStatus, priority: 'high' as TaskPriority, tags: ['frontend', 'mobile', 'ui'], dueDate: new Date('2025-12-10'), }, { title: '🔒 Security Audit', description: 'Conduct a comprehensive security audit of the application', status: 'backlog' as TaskStatus, priority: 'urgent' as TaskPriority, tags: ['security', 'audit'], dueDate: new Date('2026-01-15'), }, ]; let createdCount = 0; let errorCount = 0; for (const taskData of testTasks) { try { const task = await tasksService.createTask(taskData); const statusEmoji = { backlog: '📋', todo: '⏳', in_progress: '🔄', freeze: '🧊', done: '✅', cancelled: '❌', archived: '📦', }[task.status]; const priorityEmoji = { low: '🔵', medium: '🟡', high: '🔴', urgent: '🚨', }[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 };