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

     1  package paraswap
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestUnmarshallTokensList(t *testing.T) {
    10  
    11  	tokens := []Token{
    12  		{
    13  			Symbol:   "ETH",
    14  			Address:  "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
    15  			Decimals: 18,
    16  			Img:      "https://img.paraswap.network/ETH.png",
    17  			Network:  1,
    18  		},
    19  		{
    20  			Symbol:   "USDT",
    21  			Address:  "0xdac17f958d2ee523a2206206994597c13d831ec7",
    22  			Decimals: 6,
    23  			Img:      "https://img.paraswap.network/USDT.png",
    24  			Network:  1,
    25  		},
    26  	}
    27  
    28  	data := []byte(`{
    29  			"tokens": [
    30  				{
    31  					"symbol": "ETH",
    32  					"address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
    33  					"decimals": 18,
    34  					"img": "https://img.paraswap.network/ETH.png",
    35  					"network": 1
    36  				},
    37  				{
    38  					"symbol": "USDT",
    39  					"address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    40  					"decimals": 6,
    41  					"img": "https://img.paraswap.network/USDT.png",
    42  					"network": 1
    43  				}
    44  			]
    45  		}`)
    46  
    47  	receivedTokens, err := handleTokensListResponse(data)
    48  	assert.NoError(t, err)
    49  	assert.Equal(t, tokens, receivedTokens)
    50  }
    51  
    52  func TestForErrorOnFetchingTokensList(t *testing.T) {
    53  	data := []byte(`{
    54  		"error": "Only chainId 1 is supported"
    55  	}`)
    56  
    57  	_, err := handleTokensListResponse(data)
    58  	assert.Error(t, err)
    59  }