fix: Remove demo pages and add testDataService for production build
This commit is contained in:
111
services/testDataService.ts
Normal file
111
services/testDataService.ts
Normal file
@@ -0,0 +1,111 @@
|
||||
// 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;
|
||||
|
||||
Reference in New Issue
Block a user