Le commit 2 a fixé la NPE du /BlogSpot/Details/{id} en passant
le display template par UserDisplayHelpers.AvatarSrc, qui
défend contre un UserName null. Ce commit complète le filet
de non-régression et pose la doc d'architecture des tests.
- ApplicationUserDisplayTemplateTests : assert que le cshtml ne
concatène plus directement Model.UserName (ancien code fautif)
et qu'il utilise bien le helper. Si quelqu'un revert la ligne
4 du cshtml, les tests cassent. Les autres usages de
Model.UserName (alt, title, asp-route-id) sont autorisés : ils
ne sont pas la cause du 500, juste laids si null.
- doc/testing.md : vue d'ensemble de la stratégie de test
(conventions NonRegression/Mandatory/Smoke/Controllers, EF
in-memory via InMemoryDatabaseRoot partagé, auth stubs,
quand ne pas écrire de test).
- src/Yavsc.Tests.Shared/README.md : détails du scaffold partagé
(WebHostFixture + son cycle de vie et ses hooks,
TestAuthPolicyProvider, TestTokenIssuer) et des deux
spécialisations dans le repo
(Yavsc.Org.Tests.WebServerFixture et
Yavsc.Blogs.Tests.BlogsWebServerFixture).
- doc/README.md : entrée vers testing.md dans l'index.
2.3 KiB
2.3 KiB
Documentation Yavsc
Index des documents d'architecture, design et références du dépôt. La racine de l'architecture est Architecture.md.
Architecture & design
| Document | Sujet |
|---|---|
| Architecture.md | Sommaire racine — vision, stack, droits |
| architecture/workflow-multi-parties.md | Rôles client/fournisseur/coordinateur, sous-traitance, états projet |
| architecture/domaine-musical.md | Production collaborative de titres musicaux sous licence libre |
| architecture/licences.md | LicenceModele, seed CC/ODbL, badge projet |
| architecture/domaines-activite.md | Arbre des activités, Droit à la racine |
| architecture/dictionnaires-metier.md | Dictionnaires métier, héritage en arbre, cycle de vie d'un terme |
| architecture/offres-frontmatter.md | Offre fournisseur, ClasseFormulaire, ClasseDevis, parsing frontmatter |
| architecture/postit-oidc.md | Client desktop PostIt, custom URI scheme, silent refresh |
| architecture/postit.md | PostIt — topologie des projets, ViewLocator custo, navigation, DI, conventions de binding |
| architecture/decoupage-organisation.md | Découpage des projets .NET (Abstract, Server, Org, Api, Blogs, Web, Org.Tests) |
| testing.md | Stratégie de test : conventions des dossiers, EF Core in-memory, auth stubs, scaffold partagé |
Roadmap & design exploration
| Document | Sujet |
|---|---|
| ROADMAP.md | Feuille de route produit (à la racine du dépôt) |
| ddd-exploration-2026-06-14.md | Exploration DDD, jalons, contextes bornés, modèles cibles |
Échantillons
| Document | Sujet |
|---|---|
| offer-sample.md | Échantillon d'offre fournisseur (markdown avec frontmatter) |
Journal de travail
Documents de suivi informels (non publiés, à usage interne) :
- dev-tracking/client-editor-overhaul.md — refonte de l'éditeur client OAuth2