first commit

This commit is contained in:
Sylvain Duchesne
2026-01-18 11:53:42 +01:00
commit f04f15d926
112 changed files with 24858 additions and 0 deletions
+785
View File
@@ -0,0 +1,785 @@
// Auto-generated by scripts/parse-test-results.ts
// Do not edit manually - run "bun run test:results" to regenerate
import type { FeatureTestStatus, ScenarioTestResult } from '../types/gherkin';
interface RawFeatureTestStatus {
featureId: string;
totalScenarios: number;
passed: number;
failed: number;
skipped: number;
lastRun?: string;
scenarios?: ScenarioTestResult[];
}
const rawResults: RawFeatureTestStatus[] = [
{
"featureId": "us-13",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.018Z",
"scenarios": [
{
"name": "Accéder à la création d'événement",
"status": "passed"
},
{
"name": "Vérifier les champs obligatoires du formulaire",
"status": "passed"
},
{
"name": "Remplir le formulaire de création d'événement",
"status": "passed"
},
{
"name": "Vérifier la présence du bouton de création",
"status": "passed"
},
{
"name": "Vérifier la présence du bouton d'annulation",
"status": "passed"
}
]
},
{
"featureId": "us-3",
"totalScenarios": 4,
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.018Z",
"scenarios": [
{
"name": "Accéder aux détails d'un événement terminé",
"status": "passed"
},
{
"name": "Voir la description de l'événement",
"status": "passed"
},
{
"name": "Voir la liste des participants",
"status": "passed"
},
{
"name": "Vérifier les données affichées",
"status": "passed"
}
]
},
{
"featureId": "us-5",
"totalScenarios": 5,
"passed": 4,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-18T10:00:42.018Z",
"scenarios": [
{
"name": "Voir les commentaires existants",
"status": "passed"
},
{
"name": "Ajouter un commentaire",
"status": "skipped"
},
{
"name": "Modifier un commentaire",
"status": "passed"
},
{
"name": "Supprimer un commentaire",
"status": "passed"
},
{
"name": "Vérifier les données de l'écran",
"status": "passed"
}
]
},
{
"featureId": "us-7",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.018Z",
"scenarios": [
{
"name": "Consulter un événement avant inscription",
"status": "passed"
},
{
"name": "S'inscrire à un événement",
"status": "passed"
},
{
"name": "Se désinscrire d'un événement",
"status": "passed"
},
{
"name": "Rechercher un événement existant",
"status": "passed"
},
{
"name": "Vérifier les données de l'écran",
"status": "passed"
}
]
},
{
"featureId": "us-8",
"totalScenarios": 4,
"passed": 3,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-18T10:00:42.018Z",
"scenarios": [
{
"name": "Consulter un macro-événement",
"status": "passed"
},
{
"name": "Voir les événements rattachés",
"status": "skipped"
},
{
"name": "Rattacher un événement existant",
"status": "passed"
},
{
"name": "Voir la consolidation des participants",
"status": "passed"
}
]
},
{
"featureId": "us-16",
"totalScenarios": 6,
"passed": 6,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.018Z",
"scenarios": [
{
"name": "Accéder aux points de rencontre",
"status": "passed"
},
{
"name": "Créer un point de rencontre",
"status": "passed"
},
{
"name": "Définir le lieu de rencontre",
"status": "passed"
},
{
"name": "Définir l'heure de rencontre",
"status": "passed"
},
{
"name": "Échanger des liens de contact",
"status": "passed"
},
{
"name": "Vérifier les données requises",
"status": "passed"
}
]
},
{
"featureId": "us-17",
"totalScenarios": 5,
"passed": 0,
"failed": 0,
"skipped": 5,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Partager un événement auquel je participe",
"status": "skipped"
},
{
"name": "Informer les utilisateurs à proximité",
"status": "skipped"
},
{
"name": "Informer les utilisateurs par thématique",
"status": "skipped"
},
{
"name": "Informer mes abonnés",
"status": "skipped"
},
{
"name": "Combiner les options de notification",
"status": "skipped"
}
]
},
{
"featureId": "us-18",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Configurer les notifications de nouveaux participants",
"status": "passed"
},
{
"name": "Activer les notifications pour un événement",
"status": "passed"
},
{
"name": "Filtrer les notifications par réseau",
"status": "passed"
},
{
"name": "Voir les nouveaux participants sur l'accueil",
"status": "passed"
},
{
"name": "Vérifier les données des paramètres",
"status": "passed"
}
]
},
{
"featureId": "us-19",
"totalScenarios": 5,
"passed": 1,
"failed": 0,
"skipped": 4,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Voir les événements à venir sur l'accueil",
"status": "passed"
},
{
"name": "Voir le récapitulatif par période",
"status": "skipped"
},
{
"name": "Voir les événements proches géographiquement",
"status": "skipped"
},
{
"name": "Voir mes inscriptions",
"status": "skipped"
},
{
"name": "Vérifier les données de l'accueil",
"status": "skipped"
}
]
},
{
"featureId": "us-10",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder au profil d'un participant",
"status": "passed"
},
{
"name": "Voir les événements du participant",
"status": "passed"
},
{
"name": "Voir le formulaire de contact",
"status": "passed"
},
{
"name": "Vérifier les informations du profil",
"status": "passed"
},
{
"name": "Voir les détails du profil utilisateur",
"status": "passed"
}
]
},
{
"featureId": "us-12",
"totalScenarios": 6,
"passed": 6,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder à la liste des événements depuis le profil",
"status": "passed"
},
{
"name": "Accéder à la liste des événements depuis découvrir",
"status": "passed"
},
{
"name": "Filtrer par date",
"status": "passed"
},
{
"name": "Filtrer par personne",
"status": "passed"
},
{
"name": "Vérifier les données de l'écran événements",
"status": "passed"
},
{
"name": "Vérifier les données de l'écran profil",
"status": "passed"
}
]
},
{
"featureId": "us-15",
"totalScenarios": 4,
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder à la liste des inscrits",
"status": "passed"
},
{
"name": "Voir la liste triée",
"status": "passed"
},
{
"name": "Cliquer sur un inscrit pour voir son profil",
"status": "passed"
},
{
"name": "Vérifier les données de l'écran",
"status": "passed"
}
]
},
{
"featureId": "us-20",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder à mon profil",
"status": "passed"
},
{
"name": "Voir mon réseau",
"status": "passed"
},
{
"name": "Voir un profil de mon réseau",
"status": "passed"
},
{
"name": "Consulter un événement depuis un profil",
"status": "passed"
},
{
"name": "Vérifier les données du profil",
"status": "passed"
}
]
},
{
"featureId": "us-21",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder aux paramètres de profil",
"status": "passed"
},
{
"name": "Configurer la visibilité du profil",
"status": "passed"
},
{
"name": "Rendre le profil public",
"status": "passed"
},
{
"name": "Vérifier les données des paramètres",
"status": "passed"
},
{
"name": "Vérifier les données du profil",
"status": "passed"
}
]
},
{
"featureId": "us-22",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder au partage de profil",
"status": "passed"
},
{
"name": "Voir le QR code de parrainage",
"status": "passed"
},
{
"name": "Voir le lien de parrainage",
"status": "passed"
},
{
"name": "Voir les statistiques de parrainage",
"status": "passed"
},
{
"name": "Vérifier les données du profil",
"status": "passed"
}
]
},
{
"featureId": "us-23",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder au partage depuis le profil",
"status": "passed"
},
{
"name": "Voir le QR code",
"status": "passed"
},
{
"name": "Voir le lien de partage",
"status": "passed"
},
{
"name": "Accéder à l'écran de partage dédié",
"status": "passed"
},
{
"name": "Vérifier les données du profil",
"status": "passed"
}
]
},
{
"featureId": "us-24",
"totalScenarios": 4,
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder aux paramètres de notification",
"status": "passed"
},
{
"name": "Configurer les notifications de contacts",
"status": "passed"
},
{
"name": "Voir les activités de mes contacts sur l'accueil",
"status": "passed"
},
{
"name": "Vérifier les données des paramètres",
"status": "passed"
}
]
},
{
"featureId": "us-25",
"totalScenarios": 4,
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder aux paramètres de notification",
"status": "passed"
},
{
"name": "Configurer le rayon de notification",
"status": "passed"
},
{
"name": "Configurer les thématiques d'intérêt",
"status": "passed"
},
{
"name": "Vérifier les données des paramètres",
"status": "passed"
}
]
},
{
"featureId": "us-26",
"totalScenarios": 4,
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder à la création d'événement",
"status": "passed"
},
{
"name": "Définir le rayon d'intérêt",
"status": "passed"
},
{
"name": "Choisir une thématique",
"status": "passed"
},
{
"name": "Vérifier les champs obligatoires",
"status": "passed"
}
]
},
{
"featureId": "us-9",
"totalScenarios": 4,
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder au profil pour voir la photo",
"status": "passed"
},
{
"name": "Naviguer vers le profil depuis la liste des participants",
"status": "passed"
},
{
"name": "Consulter la liste des inscrits à un atelier",
"status": "passed"
},
{
"name": "Vérifier les champs de données du profil",
"status": "passed"
}
]
},
{
"featureId": "us-1",
"totalScenarios": 4,
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder aux détails d'un événement terminé",
"status": "passed"
},
{
"name": "Consulter la liste des participants d'un atelier",
"status": "passed"
},
{
"name": "Consulter les ressources d'un atelier",
"status": "passed"
},
{
"name": "Vérifier les données affichées pour un atelier",
"status": "passed"
}
]
},
{
"featureId": "us-11",
"totalScenarios": 4,
"passed": 3,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder au bilan consolidé",
"status": "passed"
},
{
"name": "Voir les commentaires regroupés par atelier",
"status": "passed"
},
{
"name": "Voir la synthèse globale",
"status": "skipped"
},
{
"name": "Vérifier les données du bilan",
"status": "passed"
}
]
},
{
"featureId": "us-14",
"totalScenarios": 5,
"passed": 5,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder à la création d'atelier",
"status": "passed"
},
{
"name": "Vérifier les champs obligatoires pour créer un atelier",
"status": "passed"
},
{
"name": "Créer un atelier",
"status": "passed"
},
{
"name": "Modifier un atelier existant",
"status": "passed"
},
{
"name": "Supprimer un atelier",
"status": "passed"
}
]
},
{
"featureId": "us-2",
"totalScenarios": 4,
"passed": 3,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Accéder à la zone de notes personnelles",
"status": "passed"
},
{
"name": "Accéder à la zone de partage publique",
"status": "passed"
},
{
"name": "Ajouter une note personnelle",
"status": "skipped"
},
{
"name": "Ajouter un lien/ressource",
"status": "passed"
}
]
},
{
"featureId": "us-4",
"totalScenarios": 4,
"passed": 3,
"failed": 0,
"skipped": 1,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Voir les commentaires existants d'un atelier",
"status": "passed"
},
{
"name": "Ajouter un commentaire à un atelier",
"status": "skipped"
},
{
"name": "Modifier un commentaire existant",
"status": "passed"
},
{
"name": "Supprimer un commentaire",
"status": "passed"
}
]
},
{
"featureId": "us-6",
"totalScenarios": 4,
"passed": 4,
"failed": 0,
"skipped": 0,
"lastRun": "2026-01-18T10:00:42.019Z",
"scenarios": [
{
"name": "Rechercher un événement public existant",
"status": "passed"
},
{
"name": "Voir les personnes pré-inscrites à un atelier",
"status": "passed"
},
{
"name": "S'inscrire à un atelier",
"status": "passed"
},
{
"name": "Se désinscrire d'un atelier",
"status": "passed"
}
]
}
];
export const testResults: Map<string, FeatureTestStatus> = new Map(
rawResults.map(r => [r.featureId, { ...r, lastRun: r.lastRun ? new Date(r.lastRun) : undefined }])
);
export function getTestStatus(featureId: string): FeatureTestStatus | undefined {
return testResults.get(featureId);
}
export function getScenarioResults(featureId: string): ScenarioTestResult[] {
return testResults.get(featureId)?.scenarios ?? [];
}
export function getAllTestResults(): FeatureTestStatus[] {
return Array.from(testResults.values());
}
export function getTestSummary() {
const results = getAllTestResults();
const firstResult = results[0];
return {
totalFeatures: results.length,
totalScenarios: results.reduce((acc, r) => acc + r.totalScenarios, 0),
passed: results.reduce((acc, r) => acc + r.passed, 0),
failed: results.reduce((acc, r) => acc + r.failed, 0),
skipped: results.reduce((acc, r) => acc + r.skipped, 0),
lastRun: firstResult?.lastRun,
};
}