- Ajoute privacy-policy-v1.md et release-compliance-checklist.md - Ajoute documents QA gates #238-#243 - Ajoute scripts de validation repo-only et device runbooks - Prépare checklists exécutables avant upload Play fermé Ticket #261
81 lines
2.4 KiB
Markdown
81 lines
2.4 KiB
Markdown
# QA Gate #242 — Monétisation Free/Pro et partage/quota
|
|
|
|
## But
|
|
|
|
Matérialiser une première gate runnable autour de ce qui est déjà testable aujourd'hui, tout en isolant les blockers réels pour les règles Free/Pro non encore implémentées.
|
|
|
|
## Ce qui est runnable maintenant
|
|
|
|
Couverture partielle déjà testable :
|
|
|
|
- profil et synchronisation côté Flutter
|
|
- partage / inbox / acceptation locale
|
|
- Health Connect gratuit
|
|
- companion montre gratuit
|
|
|
|
Fichiers déjà exploitables :
|
|
|
|
- `test/presentation/profile_screen_test.dart`
|
|
- `test/presentation/share_inbox_screen_test.dart`
|
|
- `test/presentation/settings_screen_test.dart`
|
|
- `test/application/health_connect_use_cases_test.dart`
|
|
- `test/application/watch_companion_projection_test.dart`
|
|
|
|
## Point d'entrée recommandé
|
|
|
|
```bash
|
|
./tool/qa_gate_242_monetization_partial.sh
|
|
```
|
|
|
|
## Pré-requis
|
|
|
|
```bash
|
|
export HOME=/tmp
|
|
export XDG_CONFIG_HOME=/tmp
|
|
export FLUTTER_SUPPRESS_ANALYTICS=true
|
|
export DART_SUPPRESS_ANALYTICS=true
|
|
```
|
|
|
|
## Commande directe équivalente
|
|
|
|
```bash
|
|
./.ideai/flutter-sdk-1785572580/bin/flutter test \
|
|
test/presentation/profile_screen_test.dart \
|
|
test/presentation/share_inbox_screen_test.dart \
|
|
test/presentation/settings_screen_test.dart \
|
|
test/application/health_connect_use_cases_test.dart \
|
|
test/application/watch_companion_projection_test.dart
|
|
```
|
|
|
|
## Blockers réels
|
|
|
|
Les contrats suivants ne sont pas encore testables proprement contre du code produit, car la surface métier n'existe pas encore clairement dans le repo :
|
|
|
|
- quota `Free/Pro`
|
|
- refus création/édition quand quota plein
|
|
- import de partage chez receveur plein
|
|
- restauration d'achat
|
|
- statut `Pro`
|
|
- sync `Pro`
|
|
- multi-comptes monétisation
|
|
|
|
## Recommandation de suite
|
|
|
|
Avant d'écrire une vraie suite verte sur ces règles, il faut introduire un contrat métier testable, par exemple :
|
|
|
|
- une policy `LibraryEntitlementPolicy`
|
|
- un use case `QuotaGuard`
|
|
- un état de compte distinguant `Free` et `Pro`
|
|
- une règle explicite d'acceptation de partage sous quota
|
|
|
|
## Verdict attendu
|
|
|
|
- vert aujourd'hui sur la gate partielle gratuite / partage
|
|
- rouge ou non applicable sur Free/Pro tant que la couche métier quota/billing n'existe pas
|
|
|
|
## Preuve réelle du 22 août 2026
|
|
|
|
Exécution rapportée verte sur `/tmp/gametime-src-1787384228`.
|
|
|
|
Cette gate valide la surface monétisation actuellement testable en local, sans fermer la QA release Android Play Store.
|