@ai-qa/workflow 2.0.9 → 2.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/install.js
CHANGED
|
@@ -43,7 +43,10 @@ const QA_ITEMS = [
|
|
|
43
43
|
{ src: '.cursorrules', dest: '.cursorrules' },
|
|
44
44
|
{ src: '.geminirules', dest: '.geminirules' },
|
|
45
45
|
{ src: '.github/copilot-instructions.md', dest: '.github/copilot-instructions.md' },
|
|
46
|
-
|
|
46
|
+
{ src: 'router.md', dest: 'agents/router.md' },
|
|
47
|
+
{ src: 'user-story', dest: 'user-story', dir: true },
|
|
48
|
+
{ src: 'specs', dest: 'specs', dir: true },
|
|
49
|
+
{ src: 'tests', dest: 'tests', dir: true },
|
|
47
50
|
|
|
48
51
|
];
|
|
49
52
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-qa/workflow",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10",
|
|
4
4
|
"description": "One-command AI QA Pipeline — User Story to Test Report. Auto-detects project config, generates Playwright tests, self-heals failures, dashboard UI.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"qa",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
".geminirules",
|
|
33
33
|
".opencode/",
|
|
34
34
|
".qa-workflow.json",
|
|
35
|
+
"router.md",
|
|
35
36
|
".github/"
|
|
36
37
|
],
|
|
37
38
|
"license": "MIT",
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
# 🧠 AI QA Workflow - Agent Router (Core Engine)
|
|
2
|
-
|
|
3
|
-
Tu es l'Intelligence Artificielle (Copilot, RooCode, Cursor,opencode, Antigravity, Gemini, etc.) assignée à ce projet d'automatisation QA.
|
|
4
|
-
Ce projet contient plusieurs profils d'agents (dans `.github/agents/` ou `agents/`) et plusieurs instructions (dans `prompts/`).
|
|
5
|
-
|
|
6
|
-
**RÈGLE STRICTE :** Tu DOIS analyser l'intention de l'utilisateur et lire automatiquement le fichier correspondant avant de générer ta réponse ou d'exécuter du code.
|
|
7
|
-
|
|
8
|
-
## 🧭 Routage Automatique du Contexte
|
|
9
|
-
|
|
10
|
-
### 1. Planification et Exploration (Intention : "Teste ce lien", "Explore cette app", "Fais un plan pour cette story")
|
|
11
|
-
* **Action obligatoire :** Lis le fichier `.github/agents/playwright-test-planner.agent.md`
|
|
12
|
-
* **Comportement attendu :** Utilise tes outils MCP Playwright pour naviguer sur l'application, faire des snapshots du DOM, identifier les éléments, et rédiger un plan de test clair.
|
|
13
|
-
|
|
14
|
-
### 2. Génération de Code Playwright (Intention : "Génère le script", "Code le test pour cette story")
|
|
15
|
-
* **Action obligatoire 1 :** Lis le fichier `.github/agents/playwright-test-generator.agent.md`
|
|
16
|
-
* **Action obligatoire 2 :** Lis le fichier `prompts/QAe2eprompt.md` pour respecter les conventions du framework.
|
|
17
|
-
* **Comportement attendu :** Rédige les fichiers `.spec.ts` dans le dossier `tests/`. Tu as l'interdiction d'halluciner (deviner) des sélecteurs CSS. Utilise tes outils MCP pour trouver les locators sémantiques exacts (`getByRole`, `getByText`) sur la page réelle.
|
|
18
|
-
|
|
19
|
-
### 3. Auto-Guérison et Débogage (Intention : "Le test a planté", "Corrige cette erreur Playwright")
|
|
20
|
-
* **Action obligatoire :** Lis le fichier `.github/agents/playwright-test-healer.agent.md`
|
|
21
|
-
* **Comportement attendu :** Analyse la trace d'erreur, ouvre le navigateur avec MCP pour voir l'état réel de l'UI, et corrige le sélecteur défectueux dans le fichier source.
|
|
22
|
-
|
|
23
|
-
### 4. Requêtes QA Générales (Intention globale)
|
|
24
|
-
* **Action obligatoire :** Lis le fichier `prompts/general_prompt.md`
|
|
25
|
-
|
|
26
|
-
## ⚠️ Directives Techniques
|
|
27
|
-
* Ne demande jamais la permission de lire ces fichiers, fais-le silencieusement en arrière-plan.
|
|
28
|
-
* Utilise toujours des sélecteurs Playwright robustes et sémantiques.
|
|
29
|
-
* Si le serveur local n'est pas lancé, préviens l'utilisateur avant d'essayer de t'y connecter.
|
|
1
|
+
# 🧠 AI QA Workflow - Agent Router (Core Engine)
|
|
2
|
+
|
|
3
|
+
Tu es l'Intelligence Artificielle (Copilot, RooCode, Cursor,opencode, Antigravity, Gemini, etc.) assignée à ce projet d'automatisation QA.
|
|
4
|
+
Ce projet contient plusieurs profils d'agents (dans `.github/agents/` ou `agents/`) et plusieurs instructions (dans `prompts/`).
|
|
5
|
+
|
|
6
|
+
**RÈGLE STRICTE :** Tu DOIS analyser l'intention de l'utilisateur et lire automatiquement le fichier correspondant avant de générer ta réponse ou d'exécuter du code.
|
|
7
|
+
|
|
8
|
+
## 🧭 Routage Automatique du Contexte
|
|
9
|
+
|
|
10
|
+
### 1. Planification et Exploration (Intention : "Teste ce lien", "Explore cette app", "Fais un plan pour cette story")
|
|
11
|
+
* **Action obligatoire :** Lis le fichier `.github/agents/playwright-test-planner.agent.md`
|
|
12
|
+
* **Comportement attendu :** Utilise tes outils MCP Playwright pour naviguer sur l'application, faire des snapshots du DOM, identifier les éléments, et rédiger un plan de test clair.
|
|
13
|
+
|
|
14
|
+
### 2. Génération de Code Playwright (Intention : "Génère le script", "Code le test pour cette story")
|
|
15
|
+
* **Action obligatoire 1 :** Lis le fichier `.github/agents/playwright-test-generator.agent.md`
|
|
16
|
+
* **Action obligatoire 2 :** Lis le fichier `prompts/QAe2eprompt.md` pour respecter les conventions du framework.
|
|
17
|
+
* **Comportement attendu :** Rédige les fichiers `.spec.ts` dans le dossier `tests/`. Tu as l'interdiction d'halluciner (deviner) des sélecteurs CSS. Utilise tes outils MCP pour trouver les locators sémantiques exacts (`getByRole`, `getByText`) sur la page réelle.
|
|
18
|
+
|
|
19
|
+
### 3. Auto-Guérison et Débogage (Intention : "Le test a planté", "Corrige cette erreur Playwright")
|
|
20
|
+
* **Action obligatoire :** Lis le fichier `.github/agents/playwright-test-healer.agent.md`
|
|
21
|
+
* **Comportement attendu :** Analyse la trace d'erreur, ouvre le navigateur avec MCP pour voir l'état réel de l'UI, et corrige le sélecteur défectueux dans le fichier source.
|
|
22
|
+
|
|
23
|
+
### 4. Requêtes QA Générales (Intention globale)
|
|
24
|
+
* **Action obligatoire :** Lis le fichier `prompts/general_prompt.md`
|
|
25
|
+
|
|
26
|
+
## ⚠️ Directives Techniques
|
|
27
|
+
* Ne demande jamais la permission de lire ces fichiers, fais-le silencieusement en arrière-plan.
|
|
28
|
+
* Utilise toujours des sélecteurs Playwright robustes et sémantiques.
|
|
29
|
+
* Si le serveur local n'est pas lancé, préviens l'utilisateur avant d'essayer de t'y connecter.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { test, expect } from '@playwright/test';
|
|
2
|
-
import { chromium } from '@playwright/test';
|
|
3
|
-
|
|
4
|
-
test.describe('Soumission de Demande d\'Alimentation de Compte Professionnel', () => {
|
|
5
|
-
|
|
6
|
-
test.beforeEach(async () => {
|
|
7
|
-
// const browser = await chromium.launch({ headless: !process.env.HEADED });
|
|
8
|
-
// const page = await browser.newPage();
|
|
9
|
-
// global.page = page;
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
test.afterEach(async () => {
|
|
13
|
-
// Cleanup if needed
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test('Scenario 1', async () => {
|
|
17
|
-
// TODO: Implement test steps from plan
|
|
18
|
-
// Reference: specs/us-expense-01-test-plan.md (Scenario 3.1)
|
|
19
|
-
//
|
|
20
|
-
// Step 1: *Montant demandé* (valeur numérique positive)
|
|
21
|
-
// Step 2: *Motif de la demande* (texte, minimum 15 caractères)
|
|
22
|
-
// Step 3: *Projet associé* (sélection dans une liste déroulante active)
|
|
23
|
-
// Step 4: Le montant demandé doit être compris entre 10 EUR et 5 000 EUR.
|
|
24
|
-
// Step 5: Les messages d'erreur de validation doivent s'afficher en temps réel sous les champs incorrects.
|
|
25
|
-
//
|
|
26
|
-
// Expected: Workflow completes successfully
|
|
27
|
-
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Soumission de Demande d'Alimentation de Compte Professionnel
|
|
2
|
-
|
|
3
|
-
**Story ID**: US-EXPENSE-01
|
|
4
|
-
**Title**: Demande d'Alimentation de Compte
|
|
5
|
-
**Author**: QA Automation Team
|
|
6
|
-
|
|
7
|
-
## Description
|
|
8
|
-
En tant que collaborateur d'entreprise, je souhaite soumettre une demande d'alimentation pour mon compte de dépenses professionnel afin de couvrir les frais liés à mes déplacements clients sans avancer de fonds personnels.
|
|
9
|
-
|
|
10
|
-
## Preconditions
|
|
11
|
-
- L'utilisateur est authentifié sur le portail collaborateur.
|
|
12
|
-
- Le compte de l'utilisateur est actif et rattaché à un centre de coût valide.
|
|
13
|
-
- Le solde actuel du compte de dépenses est inférieur à 500 EUR.
|
|
14
|
-
|
|
15
|
-
## Acceptance Criteria
|
|
16
|
-
1. **Accès au formulaire** : Un bouton "Nouvelle Demande d'Alimentation" doit être visible depuis le tableau de bord principal.
|
|
17
|
-
2. **Saisie des informations** : Le formulaire doit comporter les champs obligatoires suivants :
|
|
18
|
-
- *Montant demandé* (valeur numérique positive)
|
|
19
|
-
- *Motif de la demande* (texte, minimum 15 caractères)
|
|
20
|
-
- *Projet associé* (sélection dans une liste déroulante active)
|
|
21
|
-
3. **Contrôles de validation de surface** :
|
|
22
|
-
- Le montant demandé doit être compris entre 10 EUR et 5 000 EUR.
|
|
23
|
-
- Les messages d'erreur de validation doivent s'afficher en temps réel sous les champs incorrects.
|
|
24
|
-
4. **Soumission et Historique** : Après soumission réussie, un spinner de chargement doit s'afficher temporairement, suivi d'un toast de succès. L'utilisateur doit être redirigé vers l'historique où la demande doit apparaître avec le statut "En attente de validation".
|