Table of Contents

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

connectionStringName string

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

provider string

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

provider string

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

provider string
expectedProviderName string

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()