Skip to content

Commit

Permalink
adding test for manual args
Browse files Browse the repository at this point in the history
  • Loading branch information
barnjamin committed May 13, 2022
1 parent 7d10be5 commit 99f7fae
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions future/atomicTransactionComposer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,39 @@ func TestAddMethodCall(t *testing.T) {
require.Equal(t, atc.Count(), 1)
}

func TestAddMethodCallWithManualForeignArgs(t *testing.T) {
var atc AtomicTransactionComposer
account := crypto.GenerateAccount()
txSigner := BasicAccountTransactionSigner{Account: account}
methodSig := "add(application)uint32"

method, err := abi.MethodFromSignature(methodSig)
require.NoError(t, err)

addr, err := types.DecodeAddress("DN7MBMCL5JQ3PFUQS7TMX5AH4EEKOBJVDUF4TCV6WERATKFLQF4MQUPZTA")
require.NoError(t, err)

err = atc.AddMethodCall(
AddMethodCallParams{
AppID: 4,
Method: method,
Sender: addr,
Signer: txSigner,
MethodArgs: []interface{}{2},
ForeignApps: []uint64{1},
ForeignAssets: []uint64{1},
ForeignAccounts: []string{"E4VCHISDQPLIZWMALIGNPK2B2TERPDMR64MZJXE3UL75MUDXZMADX5OWXM"},
})
require.NoError(t, err)
require.Equal(t, atc.GetStatus(), BUILDING)
require.Equal(t, atc.Count(), 1)
txns, err := atc.BuildGroup()
require.NoError(t, err)
require.Equal(t, len(txns[0].Txn.ForeignApps), 2)
require.Equal(t, len(txns[0].Txn.ForeignAssets), 1)
require.Equal(t, len(txns[0].Txn.Accounts), 1)
}

func TestGatherSignatures(t *testing.T) {
var atc AtomicTransactionComposer
account := crypto.GenerateAccount()
Expand Down

0 comments on commit 99f7fae

Please sign in to comment.