From 3cc0b4dcfeed042e5a69628c6b7f45580ad1e2f9 Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Tue, 22 Sep 2026 01:12:52 +0800 Subject: Add real AKShare bond quote probe slice (3d-14) --- tests/FundLab.Api.Tests/NavDateProbeTests.fs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'tests/FundLab.Api.Tests/NavDateProbeTests.fs') diff --git a/tests/FundLab.Api.Tests/NavDateProbeTests.fs b/tests/FundLab.Api.Tests/NavDateProbeTests.fs index 6197950..1c57fd1 100644 --- a/tests/FundLab.Api.Tests/NavDateProbeTests.fs +++ b/tests/FundLab.Api.Tests/NavDateProbeTests.fs @@ -27,7 +27,20 @@ module NavDateProbeSupport = let collectorReturning (fetch: unit -> Result) = { new IMarketDataCollector with member _.Search(_, _) = Ok "" - member _.FetchNav(_, _) = fetch () } + member _.FetchNav(_, _) = fetch () + member _.FetchBondQuote(_, _) = Ok "" } + + let stubBondQuoteProbe = + { new IBondQuoteProbe with + member _.GetQuote(_, _) = Error(InvalidMarketDataRequest "bond probe not configured for this test") } + + let stubNavDateProbe = + { new INavDateProbe with + member _.RecentNavDates(_, _, _) = Ok [] } + + let stubNavSeriesProbe = + { new INavSeriesProbe with + member _.RecentNavSeries(_, _, _) = Ok [] } let realAksharePython () = let configured = Environment.GetEnvironmentVariable("FUND_LAB_AKSHARE_PYTHON") @@ -76,7 +89,9 @@ type NavDateProbeTests(fixture: PostgresFixture) = member _.RecentNavSeries(_, _, _) = Ok [] } let appWithProbe (probe: INavDateProbe) = - App.createApplicationWithProbes (repository ()) { NavDates = probe; NavSeries = stubSeriesProbe } + App.createApplicationWithProbes + (repository ()) + { NavDates = probe; NavSeries = stubSeriesProbe; BondQuotes = NavDateProbeSupport.stubBondQuoteProbe } [] member _.``probe parses, dedupes, sorts descending and truncates``() = -- cgit v1.2.3