Validation de l’email d’inscription ajoutée
All checks were successful
Dotnet build and test / build (pull_request) Successful in 4m53s

Vvalidation au point le plus sûr : le modèle de formulaire, avec un garde-fou côté contrôleur pour normaliser la valeur avant création du compte.

* Ajout de [EmailAddress] dans RegisterModel.cs
* Nettoyage de model.Email avec Trim() avant le ModelState.IsValid dans AccountController.cs
* Ajout d’un test de régression dans EMailling.cs

Additionnellement, le job de test est corrigé pour laisser vivre le test en plateforme Android, hors CI
This commit is contained in:
Paul Schneider 2026-08-29 16:23:58 +01:00
commit 6a6cc3a967
Signed by: notazof
GPG key ID: 1DD5D838E5343B06
6 changed files with 37 additions and 6 deletions

View file

@ -1,8 +1,10 @@
using System.ComponentModel.DataAnnotations;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Yavsc.Interface;
using Yavsc.Interfaces;
using Yavsc.Org.Tests.Fakes;
using Yavsc.ViewModels.Account;
namespace Yavsc.Org.Tests
{
@ -56,5 +58,27 @@ namespace Yavsc.Org.Tests
Assert.Equal(_serverFixture.SiteSettings.Owner.EMail, client.LastSentMessage?.To.Mailboxes.First().Address);
}
[Fact]
public void RegisterModel_rejects_invalid_email_format()
{
var model = new RegisterModel
{
UserName = "alice",
Email = "this is not an email",
Password = "Password123!",
ConfirmPassword = "Password123!"
};
var results = new List<ValidationResult>();
var valid = Validator.TryValidateObject(
model,
new ValidationContext(model),
results,
validateAllProperties: true);
Assert.False(valid);
Assert.Contains(results, r => r.MemberNames.Contains(nameof(RegisterModel.Email)));
}
}
}