summaryrefslogtreecommitdiff
path: root/tests/FundLab.Api.Tests/StockQuoteProbeTests.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-22 08:58:52 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-22 08:58:52 +0800
commit72f466b9b3ea6ece726e6b182cfc36bbd3f6fa15 (patch)
tree8d1bf9285314eb37ce47525e4d0c052fcdf08ca8 /tests/FundLab.Api.Tests/StockQuoteProbeTests.fs
parentd4b0c26b396bfcf1be029d8db3a1c0fc033a6765 (diff)
downloadfund-lab-72f466b9b3ea6ece726e6b182cfc36bbd3f6fa15.tar.gz
Add stock probe market/adjust/suspension fields and StockRules (3d-30 B1-B2)
Diffstat (limited to 'tests/FundLab.Api.Tests/StockQuoteProbeTests.fs')
-rw-r--r--tests/FundLab.Api.Tests/StockQuoteProbeTests.fs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/FundLab.Api.Tests/StockQuoteProbeTests.fs b/tests/FundLab.Api.Tests/StockQuoteProbeTests.fs
index 2cad557..b869f17 100644
--- a/tests/FundLab.Api.Tests/StockQuoteProbeTests.fs
+++ b/tests/FundLab.Api.Tests/StockQuoteProbeTests.fs
@@ -58,6 +58,21 @@ type StockQuoteProbeTests(fixture: PostgresFixture) =
| Error failure -> failwithf "expected a stock quote, got %A" failure
[<Fact>]
+ member _.``probe parses market, adjust and suspension flags``() =
+ let json =
+ "{\"schema_version\":\"fund-lab.akshare.v1\",\"operation\":\"stock-quote\",\"source\":\"akshare\",\"source_revision\":\"akshare-test/eastmoney\",\"collected_at\":\"2026-09-21T08:00:00Z\",\"instrument\":{\"code\":\"000001\"},\"quote\":{\"name\":\"平安银行\",\"price\":\"11.2300\",\"currency\":\"CNY\",\"market\":\"sz\",\"adjust\":\"none\",\"suspended\":true}}"
+
+ let probe =
+ AkshareStockQuoteProbe(StockQuoteProbeSupport.collectorReturning (fun () -> Ok json)) :> IStockQuoteProbe
+
+ match probe.GetQuote("000001", CancellationToken.None) with
+ | Ok quote ->
+ Assert.Equal<string option>(Some "sz", quote.Market)
+ Assert.Equal<string option>(Some "none", quote.Adjust)
+ Assert.Equal<bool option>(Some true, quote.Suspended)
+ | Error failure -> failwithf "expected a stock quote, got %A" failure
+
+ [<Fact>]
member _.``probe keeps a missing name missing instead of fabricating data``() =
let json = StockQuoteProbeSupport.payload "600519" None (Some "1252.57")
@@ -139,6 +154,9 @@ type StockQuoteProbeTests(fixture: PostgresFixture) =
Name = Some "贵州茅台"
Price = Some 1252.57m
Currency = "CNY"
+ Market = Some "sh"
+ Adjust = Some "none"
+ Suspended = Some false
})
let status, body =