feat: unify token message composition across sources
Remove alpha-first early return and build one rich message from all available sources (spot/future/alpha) with conditional rows. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package commands
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestBuildRichTokenMessageInput_AllSources(t *testing.T) {
|
||||
in := buildRichTokenMessageInput(buildRichTokenMessageArgs{
|
||||
Token: "ETH",
|
||||
SpotPrice: 3245,
|
||||
HasSpot: true,
|
||||
FuturePrice: 3251,
|
||||
FundingRate: 0.000123,
|
||||
FundingTimeMs: 1740000000000,
|
||||
HasFuture: true,
|
||||
AlphaPrice: 3248,
|
||||
HasAlpha: true,
|
||||
Alpha24h: -3.21,
|
||||
HasAlpha24h: true,
|
||||
MarginAPRPercent: 7.665,
|
||||
HasMarginAPR: true,
|
||||
})
|
||||
|
||||
if !in.HasSpot || !in.HasFuture || !in.HasAlpha || !in.HasAlpha24h || !in.HasMarginAPR {
|
||||
t.Fatalf("expected all source flags true: %+v", in)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildRichTokenMessageInput_OnlyAlpha(t *testing.T) {
|
||||
in := buildRichTokenMessageInput(buildRichTokenMessageArgs{
|
||||
Token: "ABC",
|
||||
HasAlpha: true,
|
||||
AlphaPrice: 0.1234,
|
||||
HasAlpha24h: true,
|
||||
Alpha24h: 12.4,
|
||||
})
|
||||
|
||||
if !in.HasAlpha || !in.HasAlpha24h {
|
||||
t.Fatalf("expected alpha flags true: %+v", in)
|
||||
}
|
||||
if in.HasSpot || in.HasFuture {
|
||||
t.Fatalf("did not expect spot/future flags true: %+v", in)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user