GET /BlogSpot/Details/1 retournait 500 (avec un 500-sur-500 sur
la page d'erreur elle-même) parce que DisplayTemplates
/ApplicationUser.cshtml faisait `var avuri = "/Avatars/" +
Model.UserName + ".s.png"` : avec <Nullable>enable</Nullable>,
Razor émet un null-check implicite sur Model.UserName et lève
NullReferenceException quand l'auteur n'a pas de UserName
posé (donnée héritée, user partiellement initialisé).
- UserDisplayHelpers.AvatarSrc : helper statique pur dans
Yavsc.Abstract.Identity qui retourne
YavscConstants.DefaultAvatar pour user null / UserName vide
ou whitespace, et un path /avatars/<name>.s.png sinon.
- ApplicationUser.cshtml : utilise le helper.
- Tests : 4 cas (null, vide, whitespace, valide) dans
Yavsc.Org.Tests/NonRegression.
Bonus : le path d'avatar passe de "/Avatars/" (S majuscule,
ne résolvait pas dans le middleware de fichiers statiques) à
YavscConstants.AvatarsPath ("/avatars" minuscule), pour fermer
l'autre trou que centraliser le calcul permettait de fixer
proprement.
|
||
|---|---|---|
| .. | ||
| Controllers | ||
| Fakes | ||
| Mandatory | ||
| NonRegression | ||
| Resources | ||
| Smoke | ||
| appsettings.json | ||
| ComputeKidTests.cs | ||
| Directory.Packages.props | ||
| DumpHtml.cs | ||
| EstimateSignatureFileHelperTests.cs | ||
| StaticAssetsPathsTests.cs | ||
| test.runsettings | ||
| TestUserMiddleware.cs | ||
| TestUserStartupFilter.cs | ||
| TestWebApplicationFactory.cs | ||
| WebServerFixture.cs | ||
| xunit.runner.json | ||
| Yavsc.Org.Tests.csproj | ||