mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-11 18:56:41 +00:00

* Releases updated version of datahub-web client UI code * Fix typo in yarn lock * Change yarn lock to match yarn registry directories * Previous commit missed some paths * Even more changes to yarnlock missing in previous commit * Include codegen file for typings * Add files to get parity for datahub-web and current OS datahub-midtier * Add in typo fix from previous commit - change to proper license * Implement proper OS fix for person entity picture url * Workarounds for open source DH issues * Fixes institutional memory api and removes unopensourced tabs for datasets * Fixes search dataset deprecation and user search issue as a result of changes * Remove internal only options in the avatar menu
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { module, test } from 'qunit';
|
|
import { debounceAndMemoizeAsyncQuery } from '@datahub/utils/api/autocomplete';
|
|
|
|
module('Unit | Utility | debounceAndMemoizeAsyncQuery', function() {
|
|
test('basic usecase', async function(assert): Promise<void> {
|
|
let callTimes = 0;
|
|
|
|
const apiFn = (): Promise<boolean> => {
|
|
callTimes += 1;
|
|
return Promise.resolve(true);
|
|
};
|
|
const fn = debounceAndMemoizeAsyncQuery(apiFn);
|
|
|
|
// debounce
|
|
fn({ cacheKey: 'testtest', query: 'testtest', requestParams: [] });
|
|
fn({ cacheKey: 'testtes', query: 'testtes', requestParams: [] });
|
|
fn({ cacheKey: 'testt', query: 'testt', requestParams: [] });
|
|
await fn({ cacheKey: 'test', query: 'test', requestParams: [] });
|
|
assert.equal(callTimes, 1);
|
|
|
|
// cached
|
|
await fn({ cacheKey: 'test', query: 'test', requestParams: [] });
|
|
assert.equal(callTimes, 1);
|
|
|
|
// query threshold
|
|
let response = await fn({ cacheKey: 't', query: 't', requestParams: [] });
|
|
assert.equal(callTimes, 1);
|
|
assert.equal(response, undefined);
|
|
|
|
response = await fn({ cacheKey: 't2', query: 't2', requestParams: [], queryLengthThreshold: 0 });
|
|
assert.equal(callTimes, 2);
|
|
assert.equal(response, true);
|
|
});
|
|
});
|