Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
using Omika.Core.Compatibility;
|
||||
|
||||
namespace Omika.Tests.Compatibility;
|
||||
|
||||
/// <summary>
|
||||
/// Tests de <see cref="SchemaCapabilities"/> : le code métier peut savoir si une
|
||||
/// fonctionnalité est disponible selon la version de base, sans connaître la
|
||||
/// structure physique.
|
||||
/// </summary>
|
||||
public class SchemaCapabilitiesTests
|
||||
{
|
||||
[Fact]
|
||||
public void Batik_DoesNotSupportNewAppointmentModel()
|
||||
{
|
||||
SchemaCapabilities batik = SchemaCapabilities.ForBatik();
|
||||
|
||||
Assert.Equal(DatabaseSchemaVersion.Batik, batik.Version);
|
||||
Assert.False(batik.SupportsNewAppointmentModel);
|
||||
Assert.False(batik.SupportsBusinessKeys);
|
||||
Assert.False(batik.SupportsRoles);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Omika_SupportsNewFeatures()
|
||||
{
|
||||
SchemaCapabilities omika = SchemaCapabilities.ForOmika();
|
||||
|
||||
Assert.Equal(DatabaseSchemaVersion.Omika, omika.Version);
|
||||
Assert.True(omika.SupportsNewAppointmentModel);
|
||||
Assert.True(omika.SupportsBusinessKeys);
|
||||
Assert.True(omika.SupportsEntityGuids);
|
||||
Assert.True(omika.SupportsRoles);
|
||||
Assert.True(omika.SupportsModificationTracking);
|
||||
Assert.True(omika.SupportsReportModels);
|
||||
Assert.True(omika.SupportsDocumentFields);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Capabilities_AreConfigurablePerInstance()
|
||||
{
|
||||
var custom = SchemaCapabilities.ForBatik() with { SupportsRoles = true };
|
||||
|
||||
Assert.True(custom.SupportsRoles);
|
||||
// L'instance de base n'est pas mutée (record immutable).
|
||||
Assert.False(SchemaCapabilities.ForBatik().SupportsRoles);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user