{item.query}}
+ {value},
+ MonacoLanguage: {YQL: 'yql'},
+}));
+
+type ExtendedSavedQuery = SavedQuery & {team: string};
+const HEADER = {header: 'Saved reports', height: 28};
+const FIRST: ExtendedSavedQuery = {
+ id: 'saved-one',
+ title: 'First report',
+ href: '/saved/one',
+ height: 52,
+ query: 'SELECT 1',
+ author: 'Anna',
+ engine: 'SQL',
+ team: 'Analytics',
+ savedAt: '2026-04-29T12:00:00.000Z',
+};
+const SECOND: ExtendedSavedQuery = {...FIRST, id: 2, title: 'Second report', href: '/saved/two'};
+
+class IntersectionObserverMock {
+ static current: IntersectionObserverMock | undefined;
+ private callback: IntersectionObserverCallback;
+ constructor(callback: IntersectionObserverCallback) {
+ this.callback = callback;
+ IntersectionObserverMock.current = this;
+ }
+ public observe() {}
+ public disconnect() {}
+ public intersect() {
+ this.callback([{isIntersecting: true} as IntersectionObserverEntry], this as never);
+ }
+}
+
+const routerLink = vi.fn((props: React.ComponentPropsWithoutRef<'a'>) => (
+
+));
+
+describe('SavedQueries integration', () => {
+ let container: HTMLDivElement;
+ let root: Root;
+ const render = (props: Partial