Files
cmroubao/backend-api/internal/usecase/device_order_command_service_test.go
T

48 lines
1.5 KiB
Go

package usecase
import (
"testing"
"cmroubao/backend-api/internal/domain"
)
func TestDeviceOrderCommandSHA256MatchesMobileContractVector(t *testing.T) {
command := domain.DeviceOrderCommand{
ID: "00000000-0000-4000-8000-000000000009",
SchemaVersion: 1,
Type: "CREATE_PENDING_ORDER",
AuthorizationVersion: 3,
TaskID: "00000000-0000-4000-8000-000000000001",
ExecutionID: "00000000-0000-4000-8000-000000000002",
TaskContentSHA256: repeatForCommandTest("a"),
OriginalSKU: "红色 M",
Quantity: 2,
CandidateKey: "candidate-key-1",
ObservedOrdinal: 1,
CandidateTitle: "红色连衣裙",
CandidateSKUText: "红色 / M",
CandidatePriceText: "19.90 CNY",
CardSignature: repeatForCommandTest("b"),
DetailSignature: repeatForCommandTest("c"),
DetailEvidenceSHA256: repeatForCommandTest("d"),
SpecificationEvidenceSHA256: repeatForCommandTest("e"),
}
got, err := DeviceOrderCommandSHA256(command)
if err != nil {
t.Fatalf("DeviceOrderCommandSHA256() error = %v", err)
}
const want = "cf3cd802366d4de49d51940551385f7e5bd3283ef18cbf245a227c679d1058f3"
if got != want {
t.Fatalf("DeviceOrderCommandSHA256() = %q, want %q", got, want)
}
}
func repeatForCommandTest(value string) string {
result := ""
for len(result) < 64 {
result += value
}
return result
}