Plan de test ARPhone
Prérequis
- Deux clients connectés avec des personnages distincts et un troisième personnage hors ligne.
- Une base migrée de
0028 vers 0029, Redis disponible, volume arphone_media inscriptible et ressources pma-voice, yarn, webpack, screenshot-basic, medusa-arphone démarrées dans cet ordre.
- Des rôles de recette couvrant séparément les six permissions ARPhone, plus Founder et Staff sans permission initiale.
- Pour les cas destructifs, utiliser une base et un volume média jetables sauvegardés avant le test.
Parcours joueur
| ID |
Scénario |
Résultat attendu |
| ARP-001 |
Ouvrir/fermer F2 avant et après spawn, avec une autre NUI |
Aucun vol de focus, backdrop ou commande requise ; panneau centre droit. |
| ARP-002 |
Premier F2 puis reconnexion |
Un seul implant, numéro permanent unique et ID technique absent de l'UI joueur. |
| ARP-003 |
Appel accepté entre deux clients |
Voix seulement après acceptation ; overlay conservé panneau fermé ; raccrochage propre. |
| ARP-004 |
Offline, occupé, refus, timeout 30 s, déconnexion et restart resource |
Historique exact, aucun canal vocal résiduel. |
| ARP-005 |
Banque ARPhone |
Comptes, soldes et transactions lisibles ; aucune mutation disponible. |
| ARP-006 |
DM offline, retry/double clic, receipts, badge, saisie et blocage |
Un seul message ; envoyé/livré/lu ; badge et saisie visibles sans présence globale ; blocage refusé explicitement. |
| ARP-007 |
Groupe : invite/accept, promotion, retrait, transfert et départ |
Permissions de groupe et propriété conformes. |
| ARP-008 |
Rejoindre, partir, messages pendant absence, rejoindre à nouveau |
Seules les périodes d'adhésion sont visibles. |
| ARP-009 |
Photo Preview/Retake/Cancel/Save/attach/hide |
Seul Save compte ; WebP <=720p et <1 Mo ; attachment reste valide après masquage. |
| ARP-010 |
Calculatrice hors API |
Résultat local, aucun appel réseau ni historique persistant. |
Transparence et cycle visuel
| ID |
Scénario |
Résultat attendu |
| ARP-BG-001 |
Sélectionner un personnage sans ouvrir F2 |
Monde intégralement visible, aucun voile noir, aucune capture clavier/souris. |
| ARP-BG-002 |
Ouvrir F2, parcourir deux applications, puis fermer avec F2 et avec Échap |
Panneau uniquement au centre droit ; après chaque fermeture, aucun pixel NUI résiduel et contrôles rendus au jeu. |
| ARP-BG-003 |
Recevoir puis accepter un appel avec F2 fermé |
Seule la carte d'appel apparaît ; le reste du canvas reste transparent. |
| ARP-BG-004 |
Tester refus, expiration, appel manqué et raccrochage |
Après le délai d'état final, la carte disparaît et la racine revient à inactive. |
| ARP-BG-005 |
Terminer un appel puis en recevoir un autre pendant le délai de fermeture du premier |
Le timer du premier appel n'efface pas la nouvelle carte d'appel. |
| ARP-BG-006 |
Redémarrer medusa-arphone, changer de personnage puis se reconnecter |
Aucun backdrop et aucun focus NUI résiduel. |
| ARP-BG-007 |
Rejouer ouverture/fermeture/appel en 1280×720, 1920×1080 et ultrawide |
Transparence complète hors composants ; panneau et carte restent lisibles et positionnés. |
| ARP-BG-008 |
Contrôle statique CSS/JS |
node --check passe, aucun color-scheme, fonds html/body/#app transparents et règle [hidden] forte présente. |
API, sécurité et administration
| ID |
Scénario |
Résultat attendu |
| ARP-011 |
Grant manquant, expiré ou rejoué ; mauvais MIME/dimensions/taille |
4xx explicite, aucun fichier ni metadata incohérente. |
| ARP-012 |
Deux Save au dernier slot de quota |
Au plus une photo acceptée, aucune dépassement de quota. |
| ARP-013 |
Matrice des six permissions web/F10 |
Chaque capacité est indépendante et revalidée serveur ; Founder a tout, Staff rien par défaut. |
| ARP-014 |
Revoke/reactivate, quota global/override, réassignation et orphan |
Effet persistant et contenu conservé. |
| ARP-015 |
Quarantaine et fin d'appel web/F10 |
Effet live, audit sans contenu ni identifiant brut. |
| ARP-016 |
Hard delete avec confirmation fausse puis correcte |
Refus puis purge/tombstones/anonymisation/numéro retiré. |
| ARP-017 |
Désactiver une app puis rouvrir F2 |
App retirée du registre visible sans casser le shell. |
| ARP-018 |
Panne API, voix, capture ou stockage |
Seule la fonction dépendante est dégradée ; aucun écran bloqué. |
| ARP-019 |
48 joueurs, listes >50, rate limits |
Pages bornées à 50, p95 non média visé <500 ms, 429 au-delà des limites. |
| ARP-020 |
Build puis redémarrage hors ligne |
SHA pma/screenshot journalisés, builders yarn/webpack de l'artefact FXServer disponibles avant la capture et contenu de l'image immuable. |
Régression
Rejouer la sélection/spawn, HUD, F10/F9, OAuth web admin, inventaires, groupes, banque PNJ/ATM et /bank. Vérifier node --check, tests API, migration depuis 0028, build MkDocs et refresh-context --check.