Icu 18506 load resource IDs for autocomplete (#3247)

* feat: 🎸 Add id auto completion
* style: 💄 Fix code editor styling for dark mode
* feat: 🎸 Add optimization for caching sqlite data

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-18506
This commit is contained in:
Zhihe Li committed 2026-05-14 15:21:29 -04:00
1 parent 1d126dc074
commit e5657a8d4c
11 files changed
+860 -128

No files matched your search

@@ -470,6 +470,62 @@ module('Unit | Handler | sqlite-handler', function (hooks) {
assert.strictEqual(results[0].name, 'specific-target');
});
test('it reuses the global token for a more specific query when the global token exists', async function (assert) {
const targets = this.server.createList('target', 3, { scope });
let capturedListToken;
let responseToken = 'specific-list-token';
this.server.get('targets', (_schema, request) => {
capturedListToken = request.queryParams.list_token;
return {
items: targets.map((t) =>
this.server.serializerOrRegistry.serialize(t),
),
list_token: responseToken,
response_type: 'complete',
};
});
// Run the specific query first
await store.query('target', { scope_id: 'some-specific-scope' });
// Switch the response token and run the global query
responseToken = 'global-list-token';
await store.query('target', { scope_id: 'global', recursive: true });
capturedListToken = undefined;
// Re-run the specific query which has a cached token but should prefer the global token since it exists
await store.query('target', { scope_id: 'some-specific-scope' });
assert.strictEqual(capturedListToken, 'global-list-token');
});
test('it uses the specific token when no global token exists', async function (assert) {
const targets = this.server.createList('target', 3, { scope });
let capturedListToken;
this.server.get('targets', (_schema, request) => {
capturedListToken = request.queryParams.list_token;
return {
items: targets.map((t) =>
this.server.serializerOrRegistry.serialize(t),
),
list_token: 'specific-list-token',
response_type: 'complete',
};
});
await store.query('target', { scope_id: 'some-specific-scope' });
capturedListToken = undefined;
// Re-run the specific query which should just use the normal specific token since no global token exists
await store.query('target', { scope_id: 'some-specific-scope' });
assert.strictEqual(capturedListToken, 'specific-list-token');
});
test('it retries query when invalid list token error occurs', async function (assert) {
let targets = this.server.createList('target', 5, { scope });