Skip to content

Commit ce1cb80

Browse files
committed
test: add nil cases
1 parent ad0e0d6 commit ce1cb80

File tree

2 files changed

+41
-5
lines changed

2 files changed

+41
-5
lines changed

internal/entities/quote/common.go

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,32 @@ func ValidateQuoteHash(hash string) error {
4646
}
4747

4848
func CalculateCallFee(amount *entities.Wei, config PegConfiguration) *entities.Wei {
49+
var percentage *utils.BigFloat
50+
var fixedFee *entities.Wei
4951
result := new(entities.Wei)
5052

51-
percentageFee := calculatePercentageFee(amount, config.GetFeePercentage())
52-
result.Add(percentageFee, config.GetFixedFee())
53+
if config.GetFeePercentage() != nil {
54+
percentage = config.GetFeePercentage()
55+
} else {
56+
percentage = utils.NewBigFloat64(0)
57+
}
58+
59+
if amount == nil {
60+
amount = entities.NewBigWei(big.NewInt(0))
61+
}
62+
63+
if config.GetFixedFee() != nil {
64+
fixedFee = config.GetFixedFee()
65+
} else {
66+
fixedFee = entities.NewBigWei(big.NewInt(0))
67+
}
68+
69+
percentageFee := calculatePercentageFee(amount, percentage)
70+
result.Add(percentageFee, fixedFee)
5371

54-
log.Debugf("Percentage fee: %v%% of %v = %v", config.GetFeePercentage(), amount, percentageFee)
55-
log.Debugf("Fixed fee: %v", config.GetFixedFee())
56-
log.Debugf("Call fee: %v + %v = %v", percentageFee, config.GetFixedFee(), result)
72+
log.Debugf("Percentage fee: %v%% of %v = %v", percentage, amount, percentageFee)
73+
log.Debugf("Fixed fee: %v", fixedFee)
74+
log.Debugf("Call fee: %v + %v = %v", percentageFee, fixedFee, result)
5775
return result
5876
}
5977

internal/entities/quote/common_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,24 @@ func TestCalculateCallFee(t *testing.T) {
117117
fixedFee: entities.NewWei(1110000031224),
118118
result: entities.NewWei(6043334443333364566),
119119
},
120+
{
121+
amount: entities.NewWei(7777777777777777789),
122+
feePercentage: nil,
123+
fixedFee: entities.NewWei(1110000031224),
124+
result: entities.NewWei(1110000031224),
125+
},
126+
{
127+
amount: entities.NewWei(7777777777777777789),
128+
feePercentage: utils.NewBigFloat64(77.7),
129+
fixedFee: nil,
130+
result: entities.NewWei(6043333333333333342),
131+
},
132+
{
133+
amount: nil,
134+
feePercentage: utils.NewBigFloat64(77.7),
135+
fixedFee: entities.NewWei(1110000031224),
136+
result: entities.NewWei(1110000031224),
137+
},
120138
}
121139
log.SetLevel(log.DebugLevel)
122140
for _, tt := range testCases {

0 commit comments

Comments
 (0)