capTests
Se connecter

A Wiki in Doli capdoliwiki

Ce projet nécessite une intervention humaine pour qualifier manuellement 18 cas de test. 38 cas sont couverts par un test automatique relancé à chaque nouvelle version.
Rapport qualité
Consultation en lecture seule. Vous voulez participer ? Contactez le chef de projet pour rejoindre l'équipe et créer votre compte. Se connecter.
Les tests automatiques sont affichés. Les points couverts par un test automatique qui passe (badge Couvert) n'ont pas besoin d'être re-testés à la main : concentrez la recette manuelle sur les points manuels, non couverts ou en régression.
Réf Intitulé Cycle Couverture Verdict
Administration
DWI-047 Page de configuration Desktop
Détails

Étapes: ouvrir la configuration du module (admin/setup.php), modifier une constante (ex. durée du verrou, largeur max des images, rétention corbeille) et enregistrer. Attendu: les constantes CAPDOLIWIKI_* sont persistées et prises en compte; aucune erreur à l'enregistrement.

À tester Partiel Non testé
DWI-048 Page à propos (feedback, dons, stats) Desktop
Détails

Étapes: ouvrir la page à propos (admin/about.php); envoyer un message de feedback. Attendu: l'encart infos module (version, éditeur, licence, versions min Dolibarr/PHP), le formulaire de feedback, l'encart de don et les liens utiles s'affichent; l'envoi du feedback fonctionne (ou journalise l'erreur le cas échéant).

À tester Non couvert Non testé
DWI-050 Données de démonstration : génération et purge Desktop
Détails

Précondition: instance de test (CAPDOLIWIKI_ALLOW_DEMO_DATA = 1 ou MAIN_FEATURES_LEVEL >= 2). Étapes: onglet Mode démonstration de la configuration, cocher la confirmation, générer ; relancer la génération sans purge ; puis supprimer les données de démonstration. Attendu: le wiki d'une entreprise de 50 salariés est créé (plus de 400 pages par service, historique sur onze mois daté depuis le jour de la génération, tags, liens, schémas, quatorze comptes en trois groupes) ; une seconde génération ne duplique rien ; la purge supprime tout ce qui a été créé.

À tester Couvert Non testé
DWI-051 Données de démonstration refusées en production Desktop
Détails

Précondition: installation sans CAPDOLIWIKI_ALLOW_DEMO_DATA, MAIN_FEATURES_LEVEL inférieur à 2 et sans DEMO_INSTANCE. Étapes: tenter de générer puis de purger les données de démonstration. Attendu: les deux actions sont refusées avec un message ; aucune page ni aucun compte n'est créé ou supprimé.

À tester Partiel Non testé
Corbeille
DWI-040 Suppression douce (mise en corbeille) Desktop
Détails

Étapes: supprimer une page depuis la liste ou la fiche. Attendu: la page passe en corbeille (statut -1) avec date et auteur de suppression; elle disparaît de l'arborescence active mais reste récupérable.

À tester Couvert Non testé
DWI-041 Restauration depuis la corbeille Desktop
Détails

Précondition: une page en corbeille. Étapes: ouvrir la corbeille et restaurer la page. Attendu: la page revient à l'état publié et réapparaît dans l'arborescence; les champs de suppression sont réinitialisés.

À tester Partiel Non testé
DWI-042 Suppression définitive (hard delete) Desktop
Détails

Précondition: une page en corbeille, utilisateur avec droit delete. Étapes: supprimer définitivement la page depuis la corbeille. Attendu: la page, toutes ses versions, ses verrous et son répertoire de fichiers sont supprimés définitivement; l'opération est journalisée.

À tester Partiel Non testé
DWI-043 Page index non supprimable Desktop
Détails

Étapes: tenter de supprimer la page racine "index". Attendu: aucune action de suppression n'est proposée pour la page index; une tentative directe est refusée. La page d'accueil du wiki reste toujours disponible.

À tester Non couvert Non testé
DWI-044 Purge automatique de la corbeille (cron) Desktop
Détails

Précondition: CAPDOLIWIKI_TRASH_RETENTION_DAYS > 0, une page en corbeille depuis plus longtemps que ce délai. Étapes: exécuter la tâche cron de purge (cron/purge_trash.php). Attendu: les pages en corbeille au-delà du délai de rétention sont supprimées définitivement; avec la valeur 0, aucune purge n'a lieu.

À tester Partiel Non testé
DWI-056 Page en corbeille non modifiable Desktop
Détails

Précondition: une page en corbeille. Étapes: ouvrir directement son édition ; consulter son historique avec un simple lecteur. Attendu: l'édition est refusée tant que la page n'est pas restaurée ; l'historique n'est pas visible d'un simple lecteur.

À tester Couvert Non testé
Édition
DWI-010 Éditeur WYSIWYG Milkdown Desktop
Détails

Étapes: ouvrir edit.php sur une page contenant du Markdown varié (titres, listes, gras, code). Attendu: l'éditeur Milkdown se charge et affiche le rendu WYSIWYG du Markdown; la saisie met à jour le champ caché wiki_content; l'enregistrement conserve le Markdown.

À tester Non couvert Non testé
DWI-011 Barre d'outils de mise en forme Desktop
Détails

Étapes: dans l'éditeur, tester chaque bouton de la toolbar: gras, italique, titres, listes, lien, code, ligne horizontale, plein écran. Attendu: chaque bouton applique le formatage attendu sur la sélection ou à la position du curseur.

À tester Non couvert Non testé
DWI-012 Sauvegarde automatique en brouillon (localStorage) Desktop
Détails

Étapes: modifier une page sans enregistrer, quitter/recharger la page d'édition. Attendu: un brouillon est sauvegardé périodiquement en localStorage; au retour, une proposition de restauration du brouillon est offerte; après enregistrement réel, le brouillon est effacé.

À tester Non couvert Non testé
DWI-013 Raccourcis clavier et plein écran Desktop
Détails

Étapes: dans l'éditeur, tester Ctrl+S (enregistrer), Ctrl+Shift+F (plein écran), Échap (quitter le plein écran). Attendu: Ctrl+S soumet le formulaire; Ctrl+Shift+F bascule en plein écran; Échap en sort.

À tester Non couvert Non testé
Export PDF
DWI-045 Export PDF d'une page seule Desktop
Détails

Étapes: depuis une page, lancer l'export PDF de la page seule (export_pdf.php). Attendu: un PDF (TCPDF) est généré avec le titre et le contenu Markdown converti en HTML mis en forme; les images et la mise en page sont correctes.

À tester Partiel Non testé
DWI-046 Export PDF d'une branche complète Desktop
Détails

Précondition: une page ayant des sous-pages. Étapes: lancer l'export PDF de la branche (page + sous-pages). Attendu: le PDF contient la page et toutes ses sous-pages collectées récursivement, dans l'ordre hiérarchique.

À tester Partiel Non testé
Historique
DWI-037 Création d'une version à chaque sauvegarde Desktop
Détails

Étapes: modifier une page et l'enregistrer plusieurs fois, éventuellement avec un commentaire de version. Attendu: chaque enregistrement crée une nouvelle entrée de version (numéro incrémenté); l'historique (history.php) liste toutes les versions avec auteur, date et commentaire.

À tester Partiel Non testé
DWI-038 Comparaison (diff) entre deux versions Desktop
Détails

Étapes: dans l'historique, sélectionner deux versions et afficher le diff. Attendu: un diff LCS met en évidence les ajouts et suppressions ligne à ligne entre les deux versions.

À tester Couvert Non testé
DWI-039 Restauration d'une version antérieure Desktop
Détails

Étapes: depuis l'historique, restaurer une version antérieure. Attendu: le contenu et le titre de la version choisie deviennent le contenu courant; une nouvelle version est créée (le rollback ne détruit pas l'historique).

À tester Couvert Non testé
Images
DWI-014 Coller une image (presse-papier) Desktop
Détails

Étapes: dans l'éditeur, coller une image depuis le presse-papier (capture d'écran). Attendu: l'image est uploadée via ajax/upload_image.php, redimensionnée côté serveur (GD) selon CAPDOLIWIKI_IMAGE_MAX_WIDTH et CAPDOLIWIKI_IMAGE_QUALITY, puis insérée dans le contenu; le fichier est rangé dans le répertoire de la page.

À tester Partiel Non testé
DWI-015 Glisser-déposer d'une image Desktop
Détails

Étapes: glisser-déposer un fichier image dans l'éditeur. Attendu: même comportement que le collage (upload + redimensionnement + insertion), sans erreur.

À tester Non couvert Non testé
DWI-016 Affichage sécurisé des images Desktop
Détails

Étapes: consulter une page contenant des images; vérifier l'URL de service des images (ajax/viewimage.php ou document.php). Attendu: les images s'affichent; l'accès au fichier respecte le contrôle de permission du wiki (pas d'accès direct sans droit de lecture).

À tester Partiel Non testé
DWI-052 Pièces jointes d'une page Desktop
Détails

Étapes: ouvrir l'onglet Pièces jointes d'une page, envoyer un fichier, consulter la liste, supprimer le fichier (droit d'écriture). Attendu: le fichier est rangé dans le répertoire de la page et listé avec sa taille ; la suppression fonctionne avec le droit d'écriture ; les images collées dans l'éditeur apparaissent aussi dans cet onglet.

À tester Partiel Non testé
DWI-053 Taille d'affichage d'une image collée Desktop
Détails

Étapes: coller une image dans l'éditeur ; dans la fenêtre qui s'ouvre, choisir originale, grande (800 px), moyenne (480 px) puis petite (160 px) sur quatre collages. Attendu: chaque image est insérée à la taille choisie et la garde après enregistrement ; en lecture, un clic l'affiche en plein écran.

À tester Non couvert Non testé
Installation
DWI-001 Activation du module Desktop
Détails

Précondition: module capDoliWiki non activé. Étapes: Accueil > Configuration > Modules/Applications, rechercher capDoliWiki, cliquer pour l'activer. Attendu: le module passe à l'état actif sans erreur; une entrée de menu "Wiki" apparaît; les tables llx_capdoliwiki_page, _page_version, _page_lock, _page_link et _categorie_capdoliwiki_page sont créées; une page racine "index" existe et n'est pas supprimable.

À tester Partiel Non testé
DWI-002 Desactivation puis reactivation Desktop
Détails

Étapes: désactiver le module puis le réactiver. Attendu: aucune erreur; les pages existantes et leur historique sont conservés; les migrations (colonne content_plain, index FULLTEXT sur MySQL, backfill) se rejouent sans casse; la constante CAPDOLIWIKI_MODULE_VERSION reflète la version active.

À tester Non couvert Non testé
Lecture / contenu riche
DWI-020 Coloration syntaxique du code (Prism) Desktop
Détails

Précondition: page avec des blocs de code fences (php, js, etc.). Étapes: consulter la page (page.php). Attendu: les blocs de code sont colorés par Prism.js (15 langages supportés); pas de bloc mermaid coloré par erreur.

À tester Couvert Non testé
DWI-021 Diagrammes Mermaid Desktop
Détails

Précondition: page avec un bloc ```mermaid (ex. flowchart). Étapes: consulter la page. Attendu: le bloc mermaid est remplacé par un SVG rendu; le chunk Mermaid (~3 Mo) est chargé dynamiquement uniquement si un diagramme est présent.

À tester Partiel Non testé
DWI-022 Blocs callout (info/tip/warning/danger) Desktop
Détails

Précondition: page avec des blocs :::info, :::tip, :::warning, :::danger. Étapes: consulter la page. Attendu: chaque bloc est rendu en encart stylisé avec la couleur/icône correspondant au type.

À tester Non couvert Non testé
DWI-023 Table des matières automatique Desktop
Détails

Précondition: page avec plusieurs titres (h2/h3). Étapes: consulter la page. Attendu: une table des matières est générée dans la sidebar sticky; les liens pointent vers les sections; comportement responsive correct.

À tester Non couvert Non testé
DWI-024 Ancres cliquables et légendes d'images Desktop
Détails

Étapes: survoler un titre; consulter une image ayant un texte alternatif. Attendu: un lien d'ancre (#) apparaît au survol des titres et copie l'URL de la section; les images avec alt sont enveloppées dans figure/figcaption affichant la légende.

À tester Non couvert Non testé
DWI-025 Lightbox et raccourcis de lecture Desktop
Détails

Étapes: cliquer sur une image; tester les raccourcis E (éditer), H (historique), flèches (navigation). Attendu: le clic ouvre l'image en lightbox (GLightbox, zoom); E ouvre l'édition, H l'historique, les flèches naviguent entre pages.

À tester Non couvert Non testé
Liens inter-pages
DWI-032 Wikilink [[page]] rendu en lien Desktop
Détails

Précondition: une page A contenant une syntaxe [[Titre d'une page B]]. Étapes: consulter la page A. Attendu: le wikilink est rendu comme un lien cliquable vers la page B; le lien mène bien à la bonne page.

À tester Couvert Non testé
DWI-033 Backlinks affichés sur une page Desktop
Détails

Précondition: plusieurs pages pointant (via wikilink) vers la page cible C. Étapes: consulter la page C. Attendu: la liste des backlinks (pages qui référencent C) est affichée et chaque entrée est cliquable.

À tester Partiel Non testé
DWI-034 Détection des pages orphelines Desktop
Détails

Précondition: au moins une page qu'aucune autre ne référence. Étapes: ouvrir la page de maintenance (maintenance.php). Attendu: la page orpheline apparaît dans la liste des pages orphelines; un message s'affiche s'il n'y en a aucune.

À tester Partiel Non testé
DWI-035 Liens cassés et réconciliation à la création de la cible Desktop
Détails

Étapes: créer une page A avec un wikilink [[Page inexistante]]; vérifier la maintenance (lien cassé signalé); créer ensuite la page cible portant ce titre. Attendu: tant que la cible n'existe pas, le lien est signalé comme cassé; à la création de la page cible, les liens entrants sont réconciliés automatiquement et ne sont plus cassés.

À tester Couvert Non testé
DWI-036 Autocomplétion de pages Desktop
Détails

Étapes: dans l'éditeur, déclencher la recherche de page (ajax/pages_search.php) en saisissant quelques lettres du titre. Attendu: la liste des pages correspondantes est proposée; la sélection insère un wikilink correct vers la page choisie.

À tester Non couvert Non testé
Maintenance
DWI-049 Vue de maintenance du wiki Desktop
Détails

Étapes: ouvrir la page de maintenance (maintenance.php). Attendu: la page liste les pages orphelines et les wikilinks cassés, avec des liens cliquables vers les pages concernées; des messages dédiés s'affichent quand il n'y a ni orphelines ni liens cassés.

À tester Non couvert Non testé
Navigation
DWI-007 Affichage de l'arborescence Desktop
Détails

Étapes: ouvrir la page d'accueil du wiki (index.php) avec plusieurs pages parent/enfant. Attendu: l'arborescence hiérarchique s'affiche avec indentation par niveau; la page index apparaît; les dates de modification et auteurs sont corrects.

À tester Partiel Non testé
DWI-008 Création d'une page racine et d'une sous-page Desktop
Détails

Étapes: créer une page sans parent, puis créer une seconde page en choisissant la première comme parent. Attendu: la sous-page apparaît sous son parent dans l'arbre; le slug (ref) est généré automatiquement et unique; un suffixe numérique est ajouté en cas de collision de titre.

À tester Couvert Non testé
DWI-009 Fil d'ariane (breadcrumb) Desktop
Détails

Précondition: une page imbriquée sur plusieurs niveaux. Étapes: ouvrir la page enfant la plus profonde (page.php). Attendu: le fil d'ariane affiche le chemin complet de la racine jusqu'à la page courante, chaque niveau étant cliquable.

À tester Partiel Non testé
Permissions
DWI-003 Lecture seule (droit read) Desktop
Détails

Précondition: utilisateur avec uniquement le droit "Lire les pages wiki". Étapes: ouvrir le wiki, consulter une page. Attendu: la consultation fonctionne; aucun bouton Créer/Modifier/Supprimer n'est proposé; l'accès direct à edit.php est refusé.

À tester Partiel Non testé
DWI-004 Écriture (droit write) Desktop
Détails

Précondition: utilisateur avec droits read + write (sans delete). Étapes: créer une page, la modifier, l'enregistrer. Attendu: création et modification possibles; le bouton de suppression et l'accès à la corbeille restent indisponibles.

À tester Partiel Non testé
DWI-005 Suppression et admin (droit delete) Desktop
Détails

Précondition: utilisateur avec droit delete. Étapes: supprimer une page, ouvrir la corbeille, forcer le déverrouillage d'une page verrouillée par un autre utilisateur. Attendu: accès à la corbeille, à la restauration, à la suppression définitive et au forçage de verrou.

À tester Partiel Non testé
DWI-006 Accès refusé sans aucun droit Desktop
Détails

Précondition: utilisateur sans aucun droit capdoliwiki. Étapes: tenter d'ouvrir index.php du wiki. Attendu: accès refusé par restrictedArea (message d'erreur Dolibarr), pas de fuite de contenu.

À tester Non couvert Non testé
Recherche
DWI-026 Recherche plein-texte sur le contenu Desktop
Détails

Précondition: une page dont un mot n'apparaît que dans le corps (pas dans le titre). Étapes: saisir ce mot dans la barre de recherche de l'accueil du wiki. Attendu: la page est trouvée (recherche sur le corps, pas seulement le titre); un extrait de contexte est affiché avec le terme surligné.

À tester Couvert Non testé
DWI-027 Classement par pertinence et multi-termes Desktop
Détails

Étapes: rechercher un terme présent à la fois dans un titre et dans le corps d'autres pages; puis rechercher deux mots. Attendu: les résultats sont classés par pertinence (correspondance de titre remontée en premier); une recherche à plusieurs mots ne retourne que les pages contenant tous les termes (ET).

À tester Couvert Non testé
DWI-028 Recherche sans résultat et termes accentués Desktop
Détails

Étapes: rechercher un terme introuvable; puis rechercher un mot accentué (ex. déploiement). Attendu: un message dédié "aucun résultat" s'affiche quand rien ne correspond; les termes accentués sont correctement trouvés et surlignés.

À tester Partiel Non testé
Sécurité
DWI-054 Isolation des pages entre entités Desktop
Détails

Précondition: Dolibarr multi-société, une page dans l'entité 2. Étapes: depuis l'entité 1, appeler directement l'édition, l'historique, les pièces jointes, le verrou, la mise en corbeille, la restauration et la suppression définitive de cette page. Attendu: chaque action est refusée et la page de l'autre entité reste intacte.

À tester Couvert Non testé
DWI-055 Liens d'action protégés contre les requêtes forgées (CSRF) Desktop
Détails

Étapes: inspecter les liens de suppression de la liste des pages et les liens de restauration et de suppression définitive de la corbeille ; rejouer une action sans jeton. Attendu: chaque lien porte le jeton de session ; une action soumise sans jeton valide est refusée.

À tester Partiel Non testé
Tags
DWI-029 Ajout de tags à une page Desktop
Détails

Étapes: éditer une page, renseigner des tags dans le champ dédié et/ou utiliser des #tags en ligne dans le contenu, enregistrer. Attendu: les tags saisis et les #tags détectés dans le contenu sont fusionnés puis associés à la page (catégories de type capdoliwiki_page); les tags s'affichent sur la fiche en lecture.

À tester Partiel Non testé
DWI-030 Nuage de tags et filtrage par tag Desktop
Détails

Étapes: ouvrir la page des tags (tags.php); cliquer sur un tag. Attendu: un nuage de tags s'affiche avec les libellés existants; le clic sur un tag liste toutes les pages portant ce tag.

À tester Non couvert Non testé
DWI-031 Autocomplétion des tags Desktop
Détails

Étapes: dans le champ de tags en édition, commencer à saisir quelques lettres. Attendu: l'autocomplétion (ajax/tags.php) propose les tags existants correspondants; la sélection ajoute le tag sans doublon.

À tester Non couvert Non testé
Verrouillage
DWI-017 Verrou à l'ouverture en édition + heartbeat Desktop
Détails

Étapes: ouvrir une page en édition avec l'utilisateur A. Attendu: un verrou est posé (ajax/lock.php) pour la durée CAPDOLIWIKI_LOCK_DURATION; un heartbeat rafraîchit le verrou tant que l'édition est ouverte.

À tester Couvert Non testé
DWI-018 Page verrouillée par un autre utilisateur Desktop
Détails

Précondition: page ouverte en édition par l'utilisateur A. Étapes: l'utilisateur B tente d'éditer la même page. Attendu: B est averti que la page est verrouillée par A et ne peut pas écraser; il peut consulter en lecture.

À tester Partiel Non testé
DWI-019 Forçage du déverrouillage par un admin Desktop
Détails

Précondition: page verrouillée par un autre utilisateur. Étapes: un utilisateur avec droit delete force le déverrouillage. Attendu: le verrou est supprimé; l'admin peut éditer; une trace est journalisée (dol_syslog).

À tester Partiel Non testé