using JdeScoping.ConfigManager.Models; using JdeScoping.ConfigManager.ViewModels.Forms; namespace JdeScoping.ConfigManager.Tests.ViewModels.Forms; public class DataAccessFormViewModelTests { [Fact] public void Constructor_InitializesFromModel() { // Arrange var model = new DataAccessSection { DefaultTimeoutSeconds = 60, ProductionSchema = "dbo", EnableDetailedLogging = true }; // Act var sut = new DataAccessFormViewModel(model, () => { }); // Assert sut.DefaultTimeoutSeconds.ShouldBe(60); sut.ProductionSchema.ShouldBe("dbo"); sut.EnableDetailedLogging.ShouldBeTrue(); } [Fact] public void PropertyChange_UpdatesModelAndInvokesOnChanged() { // Arrange var model = new DataAccessSection(); var changedInvoked = false; var sut = new DataAccessFormViewModel(model, () => changedInvoked = true); // Act sut.ArchiveSchema = "hist"; // Assert model.ArchiveSchema.ShouldBe("hist"); changedInvoked.ShouldBeTrue(); } }