V13-FE-011: finalize search list layout slice
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
using Shared.Operations;
|
||||
using Xunit;
|
||||
|
||||
namespace Shared.Operations.Tests;
|
||||
|
||||
public sealed class ReconcilePolicyTests
|
||||
{
|
||||
[Fact]
|
||||
public void Equal_values_are_matched_immediately()
|
||||
{
|
||||
var now = DateTimeOffset.UtcNow;
|
||||
Assert.Equal("matched", ReconcilePolicy.DecideStatus(true, now, now, TimeSpan.FromSeconds(30)));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Mismatch_inside_eventual_consistency_window_is_pending()
|
||||
{
|
||||
var changed = DateTimeOffset.UtcNow;
|
||||
Assert.Equal("pending", ReconcilePolicy.DecideStatus(false, changed, changed.AddSeconds(10), TimeSpan.FromSeconds(30)));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Mismatch_after_grace_period_is_actionable()
|
||||
{
|
||||
var changed = DateTimeOffset.UtcNow;
|
||||
Assert.Equal("mismatch", ReconcilePolicy.DecideStatus(false, changed, changed.AddMinutes(2), TimeSpan.FromSeconds(30)));
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
using Shared.Operations;
|
||||
using Xunit;
|
||||
|
||||
namespace Shared.Operations.Tests;
|
||||
|
||||
public sealed class WorkItemActionPolicyTests
|
||||
{
|
||||
[Fact]
|
||||
public void Domain_exception_is_not_manually_resolvable_by_default() =>
|
||||
Assert.False(WorkItemActionPolicy.CanManualResolve("open", false));
|
||||
|
||||
[Fact]
|
||||
public void Explicit_operational_item_can_be_manually_resolved() =>
|
||||
Assert.True(WorkItemActionPolicy.CanManualResolve("claimed", true));
|
||||
|
||||
[Fact]
|
||||
public void Retry_requires_registered_action_key() =>
|
||||
Assert.False(WorkItemActionPolicy.CanRetry("open", null));
|
||||
}
|
||||
Reference in New Issue
Block a user