V13-FE-011: finalize search list layout slice

This commit is contained in:
2026-08-09 02:57:26 +09:00
parent 9efd202e76
commit 6422cb2b13
984 changed files with 120811 additions and 1498 deletions
@@ -0,0 +1,48 @@
using Modules.WMS.Picking.Shared;
using Xunit;
namespace Modules.WMS.Picking.Tests;
public sealed class PickingScanStateMachineTests
{
[Fact]
public void LocationMustBeConfirmedBeforeItem()
{
var state = new PickingScanState(false, "A-03-02", "LOC-A-03-02", "880123", 2, 0);
var result = PickingScanStateMachine.Decide(state, "880123");
Assert.Equal(PickingScanDecisionKind.RejectLocation, result.Kind);
Assert.False(result.Accepted);
}
[Fact]
public void CorrectLocationMovesToItemStageWithoutChangingQuantity()
{
var state = new PickingScanState(false, "A-03-02", "LOC-A-03-02", "880123", 2, 0);
var result = PickingScanStateMachine.Decide(state, "LOC-A-03-02");
Assert.Equal(PickingScanDecisionKind.AcceptLocation, result.Kind);
Assert.Null(result.NewPickedQty);
}
[Fact]
public void CorrectItemIncrementsExactlyOneUnit()
{
var state = new PickingScanState(true, "A-03-02", "LOC-A-03-02", "880123", 2, 0);
var result = PickingScanStateMachine.Decide(state, "880123");
Assert.Equal(PickingScanDecisionKind.AcceptItem, result.Kind);
Assert.Equal(1m, result.NewPickedQty);
Assert.False(result.LineCompleted);
}
[Fact]
public void RequiredQuantityCompletesLine()
{
var state = new PickingScanState(true, "A-03-02", "LOC-A-03-02", "880123", 2, 1);
var result = PickingScanStateMachine.Decide(state, "880123");
Assert.Equal(2m, result.NewPickedQty);
Assert.True(result.LineCompleted);
}
}