github.com/status-im/status-go@v1.1.0/transactions/types_test.go (about)

     1  package transactions
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  
     8  	"github.com/status-im/status-go/eth-node/types"
     9  )
    10  
    11  func TestSendTxArgsValidity(t *testing.T) {
    12  	// 1. If only data fields is set, valid and return data
    13  
    14  	bytes1 := types.HexBytes([]byte{0xAA, 0xBB, 0xCC, 0xDD})
    15  	bytes2 := types.HexBytes([]byte{0x00, 0x01, 0x02})
    16  
    17  	bytesEmpty := types.HexBytes([]byte{})
    18  
    19  	doSendTxValidityTest(t, SendTxArgs{}, true, nil)
    20  	doSendTxValidityTest(t, SendTxArgs{Input: bytes1}, true, bytes1)
    21  	doSendTxValidityTest(t, SendTxArgs{Data: bytes1}, true, bytes1)
    22  	doSendTxValidityTest(t, SendTxArgs{Input: bytes1, Data: bytes1}, true, bytes1)
    23  	doSendTxValidityTest(t, SendTxArgs{Input: bytes1, Data: bytes2}, false, nil)
    24  	doSendTxValidityTest(t, SendTxArgs{Input: bytes1, Data: bytesEmpty}, true, bytes1)
    25  	doSendTxValidityTest(t, SendTxArgs{Input: bytesEmpty, Data: bytes1}, true, bytes1)
    26  	doSendTxValidityTest(t, SendTxArgs{Input: bytesEmpty, Data: bytesEmpty}, true, bytesEmpty)
    27  }
    28  
    29  func doSendTxValidityTest(t *testing.T, args SendTxArgs, expectValid bool, expectValue types.HexBytes) {
    30  	assert.Equal(t, expectValid, args.Valid(), "Valid() returned unexpected value")
    31  	if expectValid {
    32  		assert.Equal(t, expectValue, args.GetInput(), "GetInput() returned unexpected value")
    33  	}
    34  }