@mostajs/qa-engine
v0.2.1
Published
MostaJS QA Engine — moteur de gestion de tests + suivi de bugs (Project/TestSuite/TestCase/TestRun/TestResult/Bug/Release) et ingestion de logs formatés (JSON-lines) → preuves de run & auto-draft de bugs. Powers MostaQatraxFlow (UI : @mostajs/qa-ui).
Downloads
627
Maintainers
Readme
@mostajs/qa-engine — MostaJS QA Engine
Auteur : Dr Hamid MADANI [email protected] · Licence : AGPL-3.0-or-later · Statut : scaffold (v0.1.0)
Moteur de gestion de tests + suivi de bugs + ingestion de logs formatés. Powers MostaQatraxFlow (UI :
@mostajs/qa-ui).
Façon Jakarta (Ant/JMeter) mais mieux : temps réel, lien test ↔ bug ↔ release,
manuel et automatisé unifiés, multi-projet, i18n AR/FR/EN, embarquable dans
toute app @mostajs.
Rôle
@mostajs/qa-engine est le MOTEUR (headless, façon @mostajs/queue) ; MostaQatraxFlow
est le produit bâti dessus, avec l'UI @mostajs/qa-ui.
- Modèle (via
@mostajs/data-plug) : Project → TestSuite → TestCase, exécutés en TestRun (par Release/env) → TestResult ; Bug lié aux tests/résultats/releases. - Intégrations :
@mostajs/mjs-unit(résultats auto via reporter), MJSMetrics (perf),@mostajs/audit(RGPD),@mostajs/mailer/notifications. - Logs formatés & ingestion : format canonique JSON-lines, uploadable/streamable,
corrélé aux TestRun (preuve) + auto-draft de bugs depuis les
error/fatal.
Installation
npm i @mostajs/qa-enginePeers optionnels : @mostajs/data-plug (persistance), @mostajs/mjs-unit,
@mostajs/audit.
Exports
.—createQaEngine,moduleInfo, types moteur../schemas—QA_SCHEMAS+ schémas d'entités (PROJECT_SCHEMA,TEST_CASE_SCHEMA,BUG_SCHEMA…)../logs—LogEntry,jsonlParser,toLogEntry,formatLogEntry,draftBugsFromLogs,errorSignature.
Logs formatés (JSON-lines)
Une entrée par ligne :
{"ts":"2026-07-08T17:48:00Z","level":"error","app":"ticketflow-server","module":"queue","requestId":"r-42","testRunId":"run-7","event":"ticket.cancel.failed","message":"Ticket introuvable","error":{"message":"Ticket introuvable : MG1","code":"E_NOT_FOUND"}}Ingestion :
import { createQaEngine } from '@mostajs/qa-engine'
const qa = createQaEngine()
const res = qa.ingestLogs(rawJsonl, { testRunId: 'run-7' })
// res.entries, res.errors, res.bugDrafts (dédupliqués par signature d'erreur)Statut / feuille de route
- v0.1 (scaffold) : contrat
createQaEngine, schémas d'entités, ingestion de logs fonctionnelle (parse JSON-lines → brouillons de bug). CRUD/métriques persistés = Phase 2. - Design complet :
TicketFlowV0.2.0/docs/IDEES-MODULES-TRANSVERSES.md§2 & §2.1.
À produire avant impl. (DEVRULES §4/§14) : état de l'art, audit, plan dev/test.
