31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "bun:test";
|
|
import { createStaticEventCalendarProvider, parseEventCalendarEntries } from "../src/event-calendar";
|
|
|
|
describe("event calendar refdata", () => {
|
|
it("parses provider rows and filters by timestamp availability", () => {
|
|
const entries = parseEventCalendarEntries([
|
|
{
|
|
symbol: "aapl",
|
|
event_date: "2025-01-31T21:00:00Z",
|
|
event_kind: "earnings",
|
|
announced_ts: "2025-01-20T21:00:00Z",
|
|
source: "fixture"
|
|
},
|
|
{
|
|
symbol: "AAPL",
|
|
event_date: "2025-02-28T21:00:00Z",
|
|
type: "mystery",
|
|
announced_ts: "2025-02-01T21:00:00Z"
|
|
}
|
|
]);
|
|
|
|
const provider = createStaticEventCalendarProvider(entries);
|
|
const beforeAnnouncement = provider.findNextEvent("AAPL", Date.parse("2025-01-15T15:00:00Z"));
|
|
const afterAnnouncement = provider.findNextEvent("aapl", Date.parse("2025-01-21T15:00:00Z"));
|
|
|
|
expect(beforeAnnouncement).toBeNull();
|
|
expect(afterAnnouncement?.event_kind).toBe("earnings");
|
|
expect(afterAnnouncement?.underlying_id).toBe("AAPL");
|
|
expect(afterAnnouncement?.days_to_event).toBeGreaterThan(0);
|
|
});
|
|
});
|