Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
using Omika.Core.Contracts.Configuration;
|
||||
|
||||
namespace Omika.Tests.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Tests du parseur de paramètres métier, centrés sur la conversion des
|
||||
/// couleurs WinDev (<c>sCouleur</c>, entier <c>0xRRGGBB</c> sérialisé en
|
||||
/// décimal) vers le format hexadécimal <c>#RRGGBB</c> utilisé par l'UI mobile.
|
||||
/// </summary>
|
||||
public class ParametreMetierParametresParserTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData("5288012", "#50B04C")] // « Fait » (vert)
|
||||
[InlineData("15112707", "#E69A03")] // « Confirmé » (orange)
|
||||
[InlineData("1393623", "#1543D7")] // « Intervention » (bleu)
|
||||
[InlineData("0", "#000000")]
|
||||
[InlineData("16777215", "#FFFFFF")]
|
||||
public void ToHexColor_ConvertitEntierRgbEnHex(string winDevColor, string expected)
|
||||
{
|
||||
Assert.Equal(expected, ParametreMetierParametresParser.ToHexColor(winDevColor));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(null)]
|
||||
[InlineData("")]
|
||||
[InlineData(" ")]
|
||||
[InlineData("abc")]
|
||||
[InlineData("-1")]
|
||||
[InlineData("-5288012")]
|
||||
public void ToHexColor_ValeurInvalideOuSysteme_RetourneNull(string? winDevColor)
|
||||
{
|
||||
Assert.Null(ParametreMetierParametresParser.ToHexColor(winDevColor));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ToHexColor_AccepteUnNombreJsonSansDecimale()
|
||||
{
|
||||
// Le JSON WinDev peut sérialiser l'entier en nombre (sans guillemets).
|
||||
Assert.Equal("#50B04C", ParametreMetierParametresParser.ToHexColor("5288012"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseStatutRdv_ExtraitLaCouleur()
|
||||
{
|
||||
StatutRdvParametresDto? statut =
|
||||
ParametreMetierParametresParser.ParseStatutRdv("{\"sCouleur\":\"15112707\"}");
|
||||
|
||||
Assert.NotNull(statut);
|
||||
Assert.Equal("15112707", statut.Couleur);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseStatutRdv_JsonVide_RetourneNull()
|
||||
{
|
||||
Assert.Null(ParametreMetierParametresParser.ParseStatutRdv(""));
|
||||
Assert.Null(ParametreMetierParametresParser.ParseStatutRdv(null));
|
||||
Assert.Null(ParametreMetierParametresParser.ParseStatutRdv("not-json"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseTypeRdv_ExtraitLaCouleur()
|
||||
{
|
||||
TypeRdvParametresDto? type =
|
||||
ParametreMetierParametresParser.ParseTypeRdv("{\"sCouleur\":\"1393623\",\"Envoi_mobile\":true}");
|
||||
|
||||
Assert.NotNull(type);
|
||||
Assert.Equal("1393623", type.Couleur);
|
||||
Assert.True(type.EnvoiMobile);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user