7 "github.com/vapor/consensus"
8 "github.com/vapor/protocol/bc"
11 func TestBuildRequest(t *testing.T) {
14 outputs []OutputAction
20 Type: "spend_account",
21 AccountID: "9bb77612-350e-4d53-81e2-525b28247ba5",
22 AssetAmount: bc.AssetAmount{
23 AssetId: consensus.BTMAssetID,
27 outputs: []OutputAction{
29 Type: "control_address",
30 Address: "sp1qlryy65a5apylphqp6axvhx7nd6y2zlexuvn7gf",
31 AssetAmount: bc.AssetAmount{
32 AssetId: consensus.BTMAssetID,
37 want: `{"actions":[{"type":"spend_account","account_id":"9bb77612-350e-4d53-81e2-525b28247ba5","asset_id":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","amount":100},{"type":"control_address","address":"sp1qlryy65a5apylphqp6axvhx7nd6y2zlexuvn7gf","asset_id":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","amount":100}]}`,
41 Type: "spend_account",
42 AccountID: "9bb77612-350e-4d53-81e2-525b28247ba5",
43 AssetAmount: bc.AssetAmount{
44 AssetId: consensus.BTMAssetID,
48 outputs: []OutputAction{
50 Type: "control_address",
51 Address: "sp1qlryy65a5apylphqp6axvhx7nd6y2zlexuvn7gf",
52 AssetAmount: bc.AssetAmount{
53 AssetId: consensus.BTMAssetID,
58 Type: "control_address",
59 Address: "sp1qklmexrd32ch8yc8xhkpkdx05wye75pvzuy2gch",
60 AssetAmount: bc.AssetAmount{
61 AssetId: consensus.BTMAssetID,
66 want: `{"actions":[{"type":"spend_account","account_id":"9bb77612-350e-4d53-81e2-525b28247ba5","asset_id":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","amount":100},{"type":"control_address","address":"sp1qklmexrd32ch8yc8xhkpkdx05wye75pvzuy2gch","asset_id":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","amount":50},{"type":"control_address","address":"sp1qklmexrd32ch8yc8xhkpkdx05wye75pvzuy2gch","asset_id":"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","amount":50}]}`,
70 for i, c := range cases {
72 req := &buildSpendReq{}
73 if err := n.buildRequest(c.input, c.outputs, req); err != nil {
77 buildReq, err := json.Marshal(req)
82 if string(buildReq) != string(c.want) {
83 t.Fatal(i, string(buildReq))