105 lines
3.2 KiB
TypeScript
105 lines
3.2 KiB
TypeScript
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 = {
|
|
'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 };
|