Files
Hy2026/tests/TarninaHub.Tests/Domain/PartnershipWorkflowTests.cs
Rafał Tyński cca20a9965 test(backend): cover step 17 modules and extract stubs
Add tests for partnership workflow, middleman adaptation and idea notifications; extract reusable test stubs into separate files; add architecture guard forbidding object-valued dictionaries in data contracts.
2026-10-04 03:49:51 +02:00

26 lines
956 B
C#

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