Class DataAccessServiceExtensionsTests
- Namespace
- ProjectTemplate.Web.Tests
- Assembly
- ProjectTemplate.Web.Tests.dll
Provides tests for application data access provider configuration.
public sealed class DataAccessServiceExtensionsTests
- Inheritance
-
DataAccessServiceExtensionsTests
- Inherited Members
Methods
AddApplicationDataAccess_AuditStorageModeConfigured_BindsAuditOptions()
Verifies that non-local audit storage modes bind for consuming applications that provide a custom store.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 340)]
public void AddApplicationDataAccess_AuditStorageModeConfigured_BindsAuditOptions()
AddApplicationDataAccess_AuditStorageModeNotConfigured_DefaultsToLocal()
Verifies that local audit storage is the default storage mode.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 318)]
public void AddApplicationDataAccess_AuditStorageModeNotConfigured_DefaultsToLocal()
AddApplicationDataAccess_AuditingDisabled_BindsAuditOptions()
Verifies that EF Core audit record creation can be disabled through configuration.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 273)]
public void AddApplicationDataAccess_AuditingDisabled_BindsAuditOptions()
AddApplicationDataAccess_AuditingEnabled_BindsAuditOptions()
Verifies that EF Core audit record creation is enabled when configured.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 249)]
public void AddApplicationDataAccess_AuditingEnabled_BindsAuditOptions()
AddApplicationDataAccess_AuditingNotConfigured_DefaultsToEnabled()
Verifies that EF Core audit record creation is enabled by default when not explicitly configured.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 297)]
public void AddApplicationDataAccess_AuditingNotConfigured_DefaultsToEnabled()
AddApplicationDataAccess_BlankConnectionStringName_ThrowsInvalidOperationException(string)
Verifies that blank connection string names fail fast during service registration.
[Theory("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 165)]
[InlineData(new object?[] { "" })]
[InlineData(new object?[] { " " })]
public void AddApplicationDataAccess_BlankConnectionStringName_ThrowsInvalidOperationException(string connectionStringName)
Parameters
connectionStringNamestring
AddApplicationDataAccess_BlankProvider_ThrowsInvalidOperationException(string)
Verifies that blank provider values fail fast during service registration.
[Theory("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 137)]
[InlineData(new object?[] { "" })]
[InlineData(new object?[] { " " })]
public void AddApplicationDataAccess_BlankProvider_ThrowsInvalidOperationException(string provider)
Parameters
providerstring
AddApplicationDataAccess_DefaultConfiguration_UsesSqliteProvider()
Verifies that SQLite remains the default provider when no data access provider is explicitly configured.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 21)]
public void AddApplicationDataAccess_DefaultConfiguration_UsesSqliteProvider()
AddApplicationDataAccess_DisabledProvider_DoesNotRequireConnectionStringName()
Verifies that disabled data access does not require a configured connection string.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 114)]
public void AddApplicationDataAccess_DisabledProvider_DoesNotRequireConnectionStringName()
AddApplicationDataAccess_DisabledProvider_SkipsEfCoreRegistrations(string)
Verifies that data access can be intentionally disabled without requiring EF Core services.
[Theory("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 91)]
[InlineData(new object?[] { "None" })]
[InlineData(new object?[] { "none" })]
[InlineData(new object?[] { "Disabled" })]
[InlineData(new object?[] { "disabled" })]
public void AddApplicationDataAccess_DisabledProvider_SkipsEfCoreRegistrations(string provider)
Parameters
providerstring
AddApplicationDataAccess_MissingConnectionString_ThrowsInvalidOperationException()
Verifies that a configured provider fails fast when its configured connection string is missing.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 224)]
public void AddApplicationDataAccess_MissingConnectionString_ThrowsInvalidOperationException()
AddApplicationDataAccess_ProviderNameMatching_IsCaseInsensitive(string, string)
Verifies that provider matching is case-insensitive.
[Theory("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 61)]
[InlineData(new object?[] { "sqlite", "Microsoft.EntityFrameworkCore.Sqlite" })]
[InlineData(new object?[] { "SQLITE", "Microsoft.EntityFrameworkCore.Sqlite" })]
[InlineData(new object?[] { "sqlserver", "Microsoft.EntityFrameworkCore.SqlServer" })]
[InlineData(new object?[] { "SQLSERVER", "Microsoft.EntityFrameworkCore.SqlServer" })]
public void AddApplicationDataAccess_ProviderNameMatching_IsCaseInsensitive(string provider, string expectedProviderName)
Parameters
AddApplicationDataAccess_SqlServerProvider_UsesSqlServerProvider()
Verifies that SQL Server can be selected through configuration.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 40)]
public void AddApplicationDataAccess_SqlServerProvider_UsesSqlServerProvider()
AddApplicationDataAccess_UnsupportedAuditStorageMode_ThrowsInvalidOperationException()
Verifies that unsupported audit storage modes fail fast.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 363)]
public void AddApplicationDataAccess_UnsupportedAuditStorageMode_ThrowsInvalidOperationException()
AddApplicationDataAccess_UnsupportedProvider_ThrowsInvalidOperationException()
Verifies that unsupported provider names fail when the DbContext provider is configured.
[Fact("/home/runner/work/NetCoreApplicationTemplate/NetCoreApplicationTemplate/tests/ProjectTemplate.Web.Tests/DataAccessServiceExtensionsTests.cs", 194)]
public void AddApplicationDataAccess_UnsupportedProvider_ThrowsInvalidOperationException()