From 8b8023466f0873ee19b3981579edc2197fa3a143 Mon Sep 17 00:00:00 2001 From: AntiD2ta Date: Sat, 16 Nov 2019 12:16:57 -0500 Subject: [PATCH] [test] refs #136 - Add test for SkycoinCreatedTransactionOutput::IsSpent --- src/coin/skycoin/models/coin.go | 4 +++- src/coin/skycoin/models/coin_test.go | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/coin/skycoin/models/coin.go b/src/coin/skycoin/models/coin.go index 1c4300fe..1b54e35c 100644 --- a/src/coin/skycoin/models/coin.go +++ b/src/coin/skycoin/models/coin.go @@ -630,8 +630,9 @@ func (in *SkycoinTransactionInput) GetCoins(ticker string) (uint64, error) { } else if ticker == CalculatedHour { return in.skyIn.CalculatedHours * accuracy, nil } + //TODO: The program never reach here because util.AltcoinQuotient(ticker) throws an error when a invalid ticker is supplied logCoin.Errorf("Invalid ticker %v\n", ticker) - return uint64(0), errors.ErrInvalidAltcoinTicker + return uint64(0), errors.ErrInvalidAltcoinTicker } /** @@ -705,6 +706,7 @@ func (out *SkycoinTransactionOutput) GetCoins(ticker string) (uint64, error) { } else if ticker == CalculatedHour { return out.calculatedHours * accuracy, nil } + //TODO: The program never reach here because util.AltcoinQuotient(ticker) throws an error when a invalid ticker is supplied logCoin.Errorf("Invalid ticker %v\n", ticker) return uint64(0), errors.ErrInvalidAltcoinTicker } diff --git a/src/coin/skycoin/models/coin_test.go b/src/coin/skycoin/models/coin_test.go index 9bb718bb..c861f9ed 100644 --- a/src/coin/skycoin/models/coin_test.go +++ b/src/coin/skycoin/models/coin_test.go @@ -7,6 +7,7 @@ import ( "github.com/stretchr/testify/require" "github.com/fibercrypto/FiberCryptoWallet/src/core" + "github.com/skycoin/skycoin/src/api" "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skycoin/src/readable" ) @@ -188,3 +189,26 @@ func TestSkycoinUninjectedTransactionGetInputs(t *testing.T) { require.Error(t, err) require.Equal(t, uint64(0), val) } + +func TestSkycoinCreatedTransactionOutputIsSpent(t *testing.T) { + global_mock.On("UxOut", "out1").Return( + &readable.SpentOutput{ + SpentTxnID: "0000000000000000000000000000000000000000000000000000000000000000", + }, + nil, + ) + global_mock.On("UxOut", "out2").Return( + &readable.SpentOutput{ + SpentTxnID: "0", + }, + nil, + ) + + output1 := &SkycoinCreatedTransactionOutput{skyOut: api.CreatedTransactionOutput{UxID: "out1"}} + output2 := &SkycoinCreatedTransactionOutput{skyOut: api.CreatedTransactionOutput{UxID: "out2"}} + + require.Equal(t, output1.IsSpent(), false) + require.Equal(t, output2.IsSpent(), true) + require.Equal(t, output2.IsSpent(), true) + +}