first commit
This commit is contained in:
@@ -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,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user