Proof: npm test passed 166/166; npm run operator-dashboard:build passed; focused dashboard static tests cover removing the 20-row asset registry cap and requesting 250 catalog rows. Assumptions: Current 1Click import has 163 supported tokens, so a 250-row dashboard catalog cap exposes the full current catalog while keeping the bootstrap bounded. Still fake: no live funds movement; imported assets remain catalog-visible only unless explicitly inventory/trading enabled.
This commit is contained in:
parent
95a8e239fd
commit
266d149b33
5 changed files with 13 additions and 3 deletions
|
|
@ -521,7 +521,7 @@ async function loadBootstrapPayload({ auth, page, pageSize }) {
|
||||||
[],
|
[],
|
||||||
sourceErrors,
|
sourceErrors,
|
||||||
),
|
),
|
||||||
safeSourceLoad('asset_catalog', () => loadAssetCatalogSummary(pool, { limit: 80 }), null, sourceErrors),
|
safeSourceLoad('asset_catalog', () => loadAssetCatalogSummary(pool, { limit: 250 }), null, sourceErrors),
|
||||||
safeSourceLoad('pair_config', () => loadPairConfigSummary(pool), null, sourceErrors),
|
safeSourceLoad('pair_config', () => loadPairConfigSummary(pool), null, sourceErrors),
|
||||||
loadServiceSnapshots(),
|
loadServiceSnapshots(),
|
||||||
safeSourceLoad('near_intents_status', () => loadNearIntentsStatus(runtimeConfig), null, sourceErrors),
|
safeSourceLoad('near_intents_status', () => loadNearIntentsStatus(runtimeConfig), null, sourceErrors),
|
||||||
|
|
|
||||||
|
|
@ -632,7 +632,7 @@ export function createTradingConfigStore({
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function loadAssetCatalogSummary(pool, { limit = 50 } = {}) {
|
export async function loadAssetCatalogSummary(pool, { limit = 250 } = {}) {
|
||||||
await ensureTradingConfigSchema(pool);
|
await ensureTradingConfigSchema(pool);
|
||||||
const [snapshot, countResult] = await Promise.all([
|
const [snapshot, countResult] = await Promise.all([
|
||||||
loadTradingConfig(pool),
|
loadTradingConfig(pool),
|
||||||
|
|
|
||||||
|
|
@ -333,7 +333,7 @@ function AssetCatalogSection({ assetCatalog, onControl }) {
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{items.length ? items.slice(0, 20).map((asset) => (
|
{items.length ? items.map((asset) => (
|
||||||
<tr key={asset.asset_id || asset.assetId}>
|
<tr key={asset.asset_id || asset.assetId}>
|
||||||
<td>
|
<td>
|
||||||
<div>{asset.label || asset.symbol}</div>
|
<div>{asset.label || asset.symbol}</div>
|
||||||
|
|
|
||||||
|
|
@ -14,3 +14,8 @@ test('operator dashboard control proxy catches upstream failures before sending
|
||||||
assert.match(source, /buildDashboardControlErrorResponse/);
|
assert.match(source, /buildDashboardControlErrorResponse/);
|
||||||
assert.match(source, /failure.statusCode/);
|
assert.match(source, /failure.statusCode/);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('operator dashboard requests enough asset catalog rows for the current 1Click import', () => {
|
||||||
|
assert.match(source, /loadAssetCatalogSummary\(pool,\s*\{\s*limit:\s*250\s*\}\)/);
|
||||||
|
assert.doesNotMatch(source, /loadAssetCatalogSummary\(pool,\s*\{\s*limit:\s*80\s*\}\)/);
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,11 @@ test('dashboard UI exposes official NEAR upstream status separately from local f
|
||||||
assert.match(serviceCardSource, /decisive_reason/);
|
assert.match(serviceCardSource, /decisive_reason/);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('asset registry table renders the loaded catalog without a hidden 20 row cap', () => {
|
||||||
|
assert.match(strategySource, /items\.map\(\(asset\)/);
|
||||||
|
assert.doesNotMatch(strategySource, /items\.slice\(0,\s*20\)\.map/);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
test('system page exposes deduped environmental conditions history', () => {
|
test('system page exposes deduped environmental conditions history', () => {
|
||||||
assert.match(systemSource, /Environmental conditions/);
|
assert.match(systemSource, /Environmental conditions/);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue