unrip/test/strategy-engine-static.test.mjs
philipp fdeb1287b4
Some checks failed
deploy / deploy (push) Failing after 40s
Fix pair-native runtime validation gaps
Proof: targeted pair-native strategy, preflight, outcome, dashboard, and ops tests pass; full npm test passes 237/237; operator dashboard production bundle builds; ops watcher Python test passes.

Assumptions: DB asset, pair, strategy config, and price route rows remain canonical; legacy EURe fields stay only for old-row/API compatibility; local shell has no Kubernetes context for direct live namespace recheck.

Still fake: venue-native terminal fill ids and realized fee/PnL attribution remain unavailable; live deployment verification must happen through the repo workflow because manual cluster repair is out of scope.
2026-05-18 19:44:54 +02:00

19 lines
746 B
JavaScript

import test from 'node:test';
import assert from 'node:assert/strict';
import { readFileSync } from 'node:fs';
const source = readFileSync(new URL('../src/apps/strategy-engine.mjs', import.meta.url), 'utf8');
test('strategy duplicate quote tracking is bounded and state-safe', () => {
assert.match(source, /createRecentIdCache\(\{ limit: 5000 \}\)/);
assert.match(source, /seenQuotes\.has/);
assert.match(source, /seenQuotes\.getState\(\)/);
assert.doesNotMatch(source, /seen_quotes:\s*\{\}/);
});
test('strategy execute commands use decision timestamp as durable observed time', () => {
assert.match(
source,
/observedAt:\s*evaluation\.command\.decision_at\s*\|\|\s*event\.observed_at\s*\|\|\s*event\.ingested_at/,
);
});