research: verify ARR currency and current contract models
This commit is contained in:
@@ -50,6 +50,9 @@ test("ARR ledger preserves historical estimates without promoting targets, run r
|
||||
assert.ok(!ids.has(id), `${id}: excluded or ambiguous records cannot enter the ARR ledger`);
|
||||
assert.equal(rows.find((row) => row.observation.id === "O066")?.observation.selection, "historical-estimate");
|
||||
assert.equal(rows.find((row) => row.observation.id === "O046")?.observation.unit, "原文$,币种待核");
|
||||
for (const id of ["O045", "O047"])
|
||||
assert.equal(rows.find((row) => row.observation.id === id)?.observation.unit, "原文$,币种待核",
|
||||
"current subscription prices cannot establish the currency of a historical ARR claim");
|
||||
const category = snapshot.companies.find((company) => company.id === "AI055")!.cat;
|
||||
const filtered = arrDisclosures(snapshot, { category, foundedYear: 2025 });
|
||||
assert.ok(filtered.length > 0);
|
||||
@@ -75,7 +78,7 @@ test("research revisions share the authentication database and preserve replay l
|
||||
assert.equal(consumeCode(config, "invalid"), "limited");
|
||||
const initial = readResearchSnapshot();
|
||||
assert.equal(initial.companies.length, 1188);
|
||||
assert.equal(initial.evidence.length, 4372);
|
||||
assert.equal(initial.evidence.length, 4380);
|
||||
assert.equal(initial.observations.length, 453);
|
||||
assert.deepEqual(initial.candidateBatches, seed.candidateBatches, "candidate gaps persist in the same database metadata");
|
||||
assert.deepEqual(initial.directoryRechecks, seed.directoryRechecks, "follow-up classifications persist without rewriting the discovery audit");
|
||||
@@ -116,7 +119,7 @@ test("research validation rejects broken evidence and unsafe source links", () =
|
||||
test("reviews link explicit companies without turning global or excluded cases into companies", () => {
|
||||
const snapshot = structuredClone(seed) as ResearchSnapshot;
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 198);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 103);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 105);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 44);
|
||||
const review = snapshot.reviews.find((r) => r.id === "R4")!;
|
||||
assert.deepEqual(reviewCompanyIds(snapshot, review), ["AI007", "AI013", "AI021", "AI034"]);
|
||||
|
||||
Reference in New Issue
Block a user