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.
This commit is contained in:
Rafał Tyński
2026-10-04 03:49:51 +02:00
parent fa1199539b
commit cca20a9965
15 changed files with 427 additions and 94 deletions
@@ -0,0 +1,25 @@
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));
}
}