V13-FE-006: consolidate approved UI and contract hardening
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s

This commit is contained in:
2026-08-13 02:41:00 +09:00
parent d79edae546
commit 3f293d8aa8
1278 changed files with 14384 additions and 1664 deletions
@@ -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)));
}
}
@@ -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));
}