88de029e14
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>
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|