github.com/status-im/status-go@v1.1.0/services/wallet/thirdparty/paraswap/request_build_transaction_test.go (about)

     1  package paraswap
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestUnmarshallBuildTransaction(t *testing.T) {
    10  
    11  	tx := Transaction{
    12  		From:     "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8",
    13  		To:       "0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57",
    14  		Value:    "10000000000000000",
    15  		Data:     "0xf566103400000000000000000000000075e48c954594d64ef9613aeef97ad85370f13807b2b53dca60cae1d1f93f64d80703b888689f28b63c483459183f2f4271fa0308000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000001c2354900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7",
    16  		GasPrice: "47490307239",
    17  		Gas:      "197142",
    18  		ChainID:  1,
    19  	}
    20  
    21  	data := []byte(`{
    22  		"from": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8",
    23  		"to": "0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57",
    24  		"value": "10000000000000000",
    25  		"data": "0xf566103400000000000000000000000075e48c954594d64ef9613aeef97ad85370f13807b2b53dca60cae1d1f93f64d80703b888689f28b63c483459183f2f4271fa0308000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000000000001c2354900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7",
    26  		"gasPrice": "47490307239",
    27  		"gas": "197142",
    28  		"chainId": 1
    29  	}`)
    30  
    31  	receivedTx, err := handleBuildTransactionResponse(data)
    32  	assert.NoError(t, err)
    33  	assert.Equal(t, tx, receivedTx)
    34  }
    35  
    36  func TestForErrorOnBuildingTransaction(t *testing.T) {
    37  	data := []byte(`{
    38  		"error": "Invalid tokens"
    39  	}`)
    40  
    41  	_, err := handleBuildTransactionResponse(data)
    42  	assert.Error(t, err)
    43  }