fix: 合并多件档口入库码回写 (#240)
This commit is contained in:
@@ -17,6 +17,7 @@ type fakeInnerCodeWriter struct {
|
||||
readCount int
|
||||
deleteCount int
|
||||
updateCount int
|
||||
updatedCode string
|
||||
}
|
||||
|
||||
func (f *fakeInnerCodeWriter) DetailListByStock(context.Context, []int64) ([]syb.StockDetail, error) {
|
||||
@@ -42,6 +43,7 @@ func (f *fakeInnerCodeWriter) DeleteInnerCode(_ context.Context, detailID int64)
|
||||
|
||||
func (f *fakeInnerCodeWriter) UpdateDetailCode(_ context.Context, _, detailID int64, code string) error {
|
||||
f.updateCount++
|
||||
f.updatedCode = code
|
||||
if f.updateErr != nil {
|
||||
return f.updateErr
|
||||
}
|
||||
@@ -53,6 +55,17 @@ func (f *fakeInnerCodeWriter) UpdateDetailCode(_ context.Context, _, detailID in
|
||||
return nil
|
||||
}
|
||||
|
||||
func TestApplyClaimedInnerCode_聚合码只写一次并按完整值复读(t *testing.T) {
|
||||
record := innerCodeApplyTestRecord("")
|
||||
record.InnerCode = "DK260815A160101,DK260815A160102"
|
||||
writer := innerCodeApplyTestWriter(record, "")
|
||||
outcome := applyClaimedInnerCode(context.Background(), writer, record)
|
||||
if outcome.Status != model.InnerCodeUpdated || writer.updateCount != 1 || writer.updatedCode != record.InnerCode ||
|
||||
outcome.RemoteCode != record.InnerCode || writer.readCount != 2 {
|
||||
t.Fatalf("outcome=%+v update=%d code=%q read=%d", outcome, writer.updateCount, writer.updatedCode, writer.readCount)
|
||||
}
|
||||
}
|
||||
|
||||
func TestApplyClaimedInnerCode_空旧值直接写并复读确认(t *testing.T) {
|
||||
record := innerCodeApplyTestRecord("")
|
||||
writer := innerCodeApplyTestWriter(record, "")
|
||||
|
||||
Reference in New Issue
Block a user