// Service de génération de données de test pour le développement // Ce fichier fournit des données factices pour les tests et le développement export interface TestClient { id: number; nom: string; prenom: string; email: string; telephone: string; } export interface TestChantier { id: number; nom: string; type: string; client: TestClient; dateDebut: Date; dateFin?: Date; statut: string; } export interface TestPhase { id: number; nom: string; description: string; chantierId: number; ordre: number; statut: string; dateDebut?: Date; dateFin?: Date; prerequis?: number[]; } class TestDataService { generateTestClient(id: number): TestClient { return { id, nom: `Client${id}`, prenom: `Prénom${id}`, email: `client${id}@example.com`, telephone: `+33 6 00 00 00 ${id.toString().padStart(2, '0')}` }; } generateTestChantier(id: number, type: string, client: TestClient): TestChantier { return { id, nom: `Chantier ${type} ${id}`, type, client, dateDebut: new Date(), statut: 'EN_COURS' }; } generatePhasesWithPrerequisites(chantier: TestChantier): TestPhase[] { const phases: TestPhase[] = [ { id: 1, nom: 'Préparation du terrain', description: 'Terrassement et préparation', chantierId: chantier.id, ordre: 1, statut: 'TERMINE', prerequis: [] }, { id: 2, nom: 'Fondations', description: 'Coulage des fondations', chantierId: chantier.id, ordre: 2, statut: 'EN_COURS', prerequis: [1] }, { id: 3, nom: 'Élévation des murs', description: 'Construction des murs porteurs', chantierId: chantier.id, ordre: 3, statut: 'A_FAIRE', prerequis: [2] }, { id: 4, nom: 'Charpente', description: 'Pose de la charpente', chantierId: chantier.id, ordre: 4, statut: 'A_FAIRE', prerequis: [3] }, { id: 5, nom: 'Couverture', description: 'Pose de la toiture', chantierId: chantier.id, ordre: 5, statut: 'A_FAIRE', prerequis: [4] } ]; return phases; } } const testDataService = new TestDataService(); export default testDataService;