using Core.Blueprint.Common.Contracts; using Furniture.DAL.Contracts; namespace Furniture.DAL.UnitTests; public class ContractShapeTests { [Fact] public void FurnitureAvailabilityLookupRequest_WhenCreated_StoresTransportNeutralData() { var envelope = new FurnitureDalContractEnvelope("1.0.0", "corr-123"); var request = new FurnitureAvailabilityLookupRequest(envelope, "FUR-001"); Assert.Equal("1.0.0", request.Envelope.ContractVersion); Assert.Equal("corr-123", request.Envelope.CorrelationId); Assert.Equal("FUR-001", request.FurnitureId); } [Fact] public void CatalogProductProjectionRecord_WhenCreated_StoresTransportNeutralData() { var envelope = new FurnitureDalContractEnvelope("1.0.0", "corr-123"); var record = new CatalogProductProjectionRecord(envelope, "PRD-001", "Chair"); Assert.Equal("1.0.0", record.Envelope.ContractVersion); Assert.Equal("corr-123", record.Envelope.CorrelationId); Assert.Equal("PRD-001", record.ProductId); Assert.Equal("Chair", record.DisplayName); } [Fact] public void FurnitureDalPackageContract_WhenCreated_UsesBlueprintDescriptorContract() { IBlueprintPackageContract contract = new FurnitureDalPackageContract(); Assert.Equal("Furniture.DAL.Contracts", contract.Descriptor.PackageId); Assert.Equal(PackageVersionPolicy.Minor, contract.Descriptor.VersionPolicy); Assert.Contains("Core.Blueprint.Common", contract.Descriptor.DependencyPackageIds); Assert.Contains("BuildingBlock.Catalog.Contracts", contract.Descriptor.DependencyPackageIds); } }