using FluentAssertions; using Microsoft.Extensions.DependencyInjection; using SIGCM2.Application; namespace SIGCM2.Application.Tests.Common; /// /// UDT-011 T300.20.2 — DI registration smoke tests for AddApplication. /// Pure unit: no DB, no HTTP — just verifies the service container. /// public sealed class AddApplicationDependencyInjectionTests { /// /// [REQ-BE-CLOCK-004] TimeProvider.System must be registered as singleton /// so all command handlers can inject it without a concrete coupling. /// [Fact] public void AddApplication_Registers_TimeProvider_System() { var services = new ServiceCollection(); // AddApplication requires some infrastructure; provide minimal stubs // by only testing the DI graph without building the full host. services.AddApplication(); using var provider = services.BuildServiceProvider(); var timeProvider = provider.GetRequiredService(); timeProvider.Should().BeSameAs(TimeProvider.System); } }