diff --git a/src/modules/RowsList/RowsList.tsx b/src/modules/RowsList/RowsList.tsx index d02273b..d48beac 100644 --- a/src/modules/RowsList/RowsList.tsx +++ b/src/modules/RowsList/RowsList.tsx @@ -82,10 +82,10 @@ export const RowsList = ({ className={block(null, className)} items={listItems} itemHeight={getItemHeight} - renderItem={(item, isActive, index) => + renderItem={(_item, isActive, index) => renderRow( prepareRowData({ - item, + item: items[index], isActive, index, variant: rowVariant, diff --git a/tests/components/RowsList.test.tsx b/tests/components/RowsList.test.tsx index 77ba873..48cd4bf 100644 --- a/tests/components/RowsList.test.tsx +++ b/tests/components/RowsList.test.tsx @@ -17,6 +17,7 @@ type ExtendedTutorial = TutorialHistoryRow & {source: string}; const lazyListState = vi.hoisted(() => ({ props: undefined as | { + items: QueryListItem[]; selectedItemIndex?: unknown; renderItem: ( item: QueryListItem, @@ -89,9 +90,13 @@ describe('RowsList tutorial data', () => { renderLink, }); - lazyListState.props?.renderItem(ITEMS[0], false, 0); + const listProps = lazyListState.props!; + expect(listProps.items[0]).toEqual({...ITEMS[0], disabled: true}); + expect(ITEMS[0]).not.toHaveProperty('disabled'); + listProps.renderItem(listProps.items[0], false, 0); expect(renderRow).toHaveBeenLastCalledWith( expect.objectContaining({item: ITEMS[0], index: 0, isActive: false}), ); + expect(renderRow.mock.calls.at(-1)?.[0].item).toBe(ITEMS[0]); }); }); diff --git a/tests/components/SavedQueries.test.tsx b/tests/components/SavedQueries.test.tsx index dc35459..d1e4981 100644 --- a/tests/components/SavedQueries.test.tsx +++ b/tests/components/SavedQueries.test.tsx @@ -308,6 +308,7 @@ describe('SavedQueries integration', () => { expect(renderRowItem).toHaveBeenCalledWith( expect.objectContaining({item: HEADER, index: 0}), ); + expect(renderRowItem.mock.calls.find(([data]) => data.index === 0)?.[0].item).toBe(HEADER); expect(container.querySelector('.qp-saved-query-row')).toBeNull(); expect(container.querySelector('.qp-saved-query-search-row')).toBeNull(); expect(routerLink).not.toHaveBeenCalled();