using TarninaHub.Domain.Enums; using TarninaHub.Domain.Rules; namespace TarninaHub.Tests.Domain; public class PartnershipWorkflowTests { [Theory] [InlineData(PartnershipStatus.Proposed, PartnershipStatus.Active, true)] [InlineData(PartnershipStatus.Proposed, PartnershipStatus.Closed, true)] [InlineData(PartnershipStatus.Active, PartnershipStatus.Closed, true)] [InlineData(PartnershipStatus.Closed, PartnershipStatus.Active, false)] [InlineData(PartnershipStatus.Active, PartnershipStatus.Proposed, false)] public void CanTransition_EnforcesLifecycle(PartnershipStatus from, PartnershipStatus to, bool expected) { Assert.Equal(expected, PartnershipWorkflow.CanTransition(from, to)); } [Fact] public void Closed_IsTerminal() { Assert.True(PartnershipWorkflow.IsTerminal(PartnershipStatus.Closed)); Assert.False(PartnershipWorkflow.IsTerminal(PartnershipStatus.Proposed)); } }