furniture-dal/tests/Furniture.DAL.UnitTests/ContractShapeTests.cs
2026-02-22 04:39:56 -06:00

42 lines
1.6 KiB
C#

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);
}
}