Skip to content

Commit

Permalink
[test] refs fibercrypto#136 - Add test for SkycoinCreatedTransactionO…
Browse files Browse the repository at this point in the history
…utput::IsSpent
  • Loading branch information
AntiD2ta committed Nov 16, 2019
1 parent d13c122 commit 8b80234
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/coin/skycoin/models/coin.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

/**
Expand Down Expand Up @@ -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
}
Expand Down
24 changes: 24 additions & 0 deletions src/coin/skycoin/models/coin_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)
Expand Down Expand Up @@ -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)

}

0 comments on commit 8b80234

Please sign in to comment.