mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 19:01:39 -04:00
cachetools 6 removed cachetools.func.mru_cache; the Zim search estimate cache was its only user, so it becomes an lru_cache and the pin moves to 7.2.0 with the Dependabot ignore removed. reportWebVitals still destructured the web-vitals 2.x names (getCLS, getFID, ...) which no longer exist, so it silently did nothing. Use the on* names, replace FID with INP, return the import promise, and accept any callable rather than instanceof Function. Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
28 lines
891 B
JavaScript
28 lines
891 B
JavaScript
jest.mock('web-vitals', () => ({
|
|
onCLS: jest.fn(),
|
|
onINP: jest.fn(),
|
|
onFCP: jest.fn(),
|
|
onLCP: jest.fn(),
|
|
onTTFB: jest.fn(),
|
|
}));
|
|
|
|
import reportWebVitals from './reportWebVitals';
|
|
import * as webVitals from 'web-vitals';
|
|
|
|
describe('reportWebVitals', () => {
|
|
test('subscribes the callback to every current web-vitals metric', async () => {
|
|
const callback = jest.fn();
|
|
const pending = reportWebVitals(callback);
|
|
expect(pending).toBeDefined();
|
|
await pending;
|
|
for (const name of ['onCLS', 'onINP', 'onFCP', 'onLCP', 'onTTFB']) {
|
|
expect(webVitals[name]).toHaveBeenCalledWith(callback);
|
|
}
|
|
});
|
|
|
|
test('does nothing without a function', async () => {
|
|
jest.clearAllMocks();
|
|
expect(reportWebVitals(undefined)).toBeUndefined();
|
|
expect(webVitals.onCLS).not.toHaveBeenCalled();
|
|
});
|
|
});
|