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:
@@ -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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user