test(backend): add submission workflow, keyword and controller tests
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
using TarninaHub.Domain.Enums;
|
||||
using TarninaHub.Domain.Rules;
|
||||
|
||||
namespace TarninaHub.Tests.Domain;
|
||||
|
||||
public class SubmissionWorkflowTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData(SubmissionStatus.New, SubmissionStatus.Triaged, true)]
|
||||
[InlineData(SubmissionStatus.New, SubmissionStatus.Matched, false)]
|
||||
[InlineData(SubmissionStatus.Triaged, SubmissionStatus.Matched, true)]
|
||||
[InlineData(SubmissionStatus.Matched, SubmissionStatus.InProgress, true)]
|
||||
[InlineData(SubmissionStatus.InProgress, SubmissionStatus.Closed, true)]
|
||||
[InlineData(SubmissionStatus.Closed, SubmissionStatus.Triaged, false)]
|
||||
[InlineData(SubmissionStatus.Rejected, SubmissionStatus.New, false)]
|
||||
public void CanTransition_EnforcesWorkflow(SubmissionStatus from, SubmissionStatus to, bool expected)
|
||||
{
|
||||
Assert.Equal(expected, SubmissionWorkflow.CanTransition(from, to));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CanTransition_AllowsSameStatus()
|
||||
{
|
||||
Assert.True(SubmissionWorkflow.CanTransition(SubmissionStatus.New, SubmissionStatus.New));
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(SubmissionStatus.Closed, true)]
|
||||
[InlineData(SubmissionStatus.Rejected, true)]
|
||||
[InlineData(SubmissionStatus.New, false)]
|
||||
public void IsTerminal_RecognizesFinalStates(SubmissionStatus status, bool expected)
|
||||
{
|
||||
Assert.Equal(expected, SubmissionWorkflow.IsTerminal(status));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user