Files
Omika/tests/Omika.Tests/Mobile/Local/SqliteParameterBindingTests.cs
2026-10-23 18:46:50 +02:00

40 lines
1.3 KiB
C#

using Microsoft.Data.Sqlite;
using Omika.App.Local.Sqlite;
namespace Omika.Tests.Mobile.Local;
/// <summary>
/// Test minimal de démonstration du binding des paramètres Microsoft.Data.Sqlite.
/// Vérifie la différence entre les deux formes de construction d'un SqliteParameter.
/// </summary>
public class SqliteParameterBindingTests : IDisposable
{
private readonly LocalDatabase _database;
public SqliteParameterBindingTests()
{
_database = new LocalDatabase(new LocalDatabaseOptions());
_database.InitializeSchemaAsync().GetAwaiter().GetResult();
}
public void Dispose()
{
_database.Dispose();
GC.SuppressFinalize(this);
}
[Fact]
public async Task ConstructeurPuisValue_Int()
{
// Forme utilisée dans CreateParameter : new SqliteParameter { Value = ... }
await using var command = _database.CreateCommand();
command.CommandText = "SELECT COUNT(*) FROM \"Outbox\" WHERE \"State\" = @Pending";
var parameter = new SqliteParameter { ParameterName = "@Pending" };
parameter.Value = (int)Omika.App.Local.Models.OutboxState.Pending;
command.Parameters.Add(parameter);
object? result = await command.ExecuteScalarAsync();
Assert.NotNull(result);
}
}