diff --git a/src/util/wallet_test.go b/src/util/wallet_test.go index 10193ab6..46a60650 100644 --- a/src/util/wallet_test.go +++ b/src/util/wallet_test.go @@ -1,25 +1,25 @@ package util import ( + "errors" "testing" "github.com/stretchr/testify/require" "github.com/fibercrypto/fibercryptowallet/src/coin/mocks" + "github.com/fibercrypto/fibercryptowallet/src/core" ) func TestSimpleWalletAddress(t *testing.T) { - wllt, addr := &mocks.Wallet{}, &mocks.Address{} + wllt, addr := new(mocks.Wallet), new(mocks.Address) wa := &SimpleWalletAddress{Wallet: wllt, Address: addr} addr.On("String").Return("A1234") addr.On("IsBip32").Return(true) addr.On("GetCryptoAccount").Return(new(mocks.CryptoAccount)) addr.On("Bytes").Return([]byte{1, 2, 3, 4}) - addr.On("Checksum").Return([]byte{5, 6, 7, 8}) + addr.On("Checksum").Return(core.Checksum([]byte{5, 6, 7, 8})) pk1 := new(mocks.PubKey) - pk2 := new(mocks.PubKey) - addr.On("Verify", pk1).Return(true) - addr.On("Verify", pk2).Return(false) + addr.On("Verify", pk1).Return(nil) require.Equal(t, wllt, wa.GetWallet()) require.Equal(t, "A1234", wa.String()) @@ -27,17 +27,22 @@ func TestSimpleWalletAddress(t *testing.T) { require.Equal(t, addr.GetCryptoAccount(), wa.GetCryptoAccount()) require.Equal(t, addr.Bytes(), wa.Bytes()) require.Equal(t, addr.Checksum(), wa.Checksum()) - require.Equal(t, true, wa.Verify(pk1)) - require.Equal(t, false, wa.Verify(pk2)) + require.Nil(t, wa.Verify(pk1)) + + addr = new(mocks.Address) + addr.On("Verify", pk1).Return(errors.New("Error")) + wa = &SimpleWalletAddress{Wallet: wllt, Address: addr} + require.NotNil(t, addr.Verify(pk1)) + require.NotNil(t, wa.Verify(pk1)) } func TestSimpleWalletOutput(t *testing.T) { wllt, out := &mocks.Wallet{}, &mocks.TransactionOutput{} - wllt.On("GetId").Return("ID1") - wllt.On("IsSpent").Return(true) - wllt.On("GetAddress").Return(new(mocks.Address)) - wllt.On("GetCoins", "X").Return(2000, nil) - wllt.On("SupportedAssets").Return([]string{"X", "Y", "Z"}) + out.On("GetId").Return("ID1") + out.On("IsSpent").Return(true) + out.On("GetAddress").Return(new(mocks.Address)) + out.On("GetCoins", "X").Return(uint64(2000), nil) + out.On("SupportedAssets").Return([]string{"X", "Y", "Z"}) wa := &SimpleWalletOutput{Wallet: wllt, UxOut: out} require.Equal(t, wllt, wa.GetWallet()) @@ -46,6 +51,6 @@ func TestSimpleWalletOutput(t *testing.T) { require.Equal(t, out.GetAddress(), wa.GetAddress()) coins, err := wa.GetCoins("X") require.NoError(t, err) - require.Equal(t, 2000, coins) + require.Equal(t, uint64(2000), coins) require.Equal(t, out.SupportedAssets(), wa.SupportedAssets()) }