mirror of
https://github.com/qlik-oss/nebula.js.git
synced 2026-05-26 13:00:24 -04:00
* feat: prototype listbox grid layout * feat: apply listbox specific theme * refactor: wip * test: add null check * fix: merge conflict wip * refactor: merged master * fix: get column count from sizes * refactor: wip generalise even more * refactor: add back forgotten props * refactor: break out funcs * test: grid-list-components * test: derive options unit tests * test: styled components 1 * refactor: break out data loading * refactor: fixes to make it work * fix: include textAlign * test: cover new funcs with unit tests * test: horizontal min batch size * test: measure text * test: add test for grid component and clean up * Update apis/nucleus/src/components/listbox/assets/get-list-sizes.js Co-authored-by: Christian Veinfors <christian.veinfors@gmail.com> * Update apis/nucleus/src/components/listbox/components/ListBoxRowColumn.jsx Co-authored-by: Daniel Sjöstrand <99665802+DanielS-Qlik@users.noreply.github.com> * refactor: use default export * fix: move listCount fetch into search to ensure it is up to date * fix: lint fixes * test: fix failing test * test: fix failing test * test: update test for disclaimer * chore: try to change order of test:rendering * test: plywright * fix: render list also when disclaimer is shown * fix: ensure list count falls back to 0 * refactor: use typography for disclaimer Co-authored-by: Johan Lahti <johanlahti@gmail.com> Co-authored-by: Daniel Sjöstrand <99665802+DanielS-Qlik@users.noreply.github.com> Co-authored-by: Johan Lahti <johanlahti@users.noreply.github.com>
53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
import React from 'react';
|
|
import { render } from '@testing-library/react';
|
|
import userEvents from '@testing-library/user-event';
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import { createTheme, ThemeProvider } from '@nebula.js/ui/theme';
|
|
|
|
import { RootContext } from '../contexts/RootContext';
|
|
|
|
const theme = createTheme('light');
|
|
|
|
export function TestRenderer(component, contextValuesOverride) {
|
|
const contextValue = {
|
|
// context values
|
|
storage: () => {},
|
|
|
|
// useInfo result
|
|
info: {},
|
|
setInfo: () => {},
|
|
|
|
// useConnection result
|
|
glob: {},
|
|
setGlobal: () => {},
|
|
treatAsDesktop: false,
|
|
setTreatAsDesktop: () => {},
|
|
error: {},
|
|
setError: () => {},
|
|
activeStep: 0,
|
|
setActiveStep: () => {},
|
|
|
|
// useCachedConnections result
|
|
cachedConnectionsData: {
|
|
cachedConnections: [],
|
|
addCachedConnections: () => {},
|
|
removeCachedConnection: () => {},
|
|
},
|
|
|
|
// override what ever you want in render level
|
|
...contextValuesOverride,
|
|
};
|
|
|
|
const Wrapper = ({ children }) => (
|
|
<BrowserRouter>
|
|
<RootContext.Provider value={contextValue}>
|
|
<ThemeProvider theme={theme}>{children}</ThemeProvider>
|
|
</RootContext.Provider>
|
|
</BrowserRouter>
|
|
);
|
|
|
|
return { ...render(component, { wrapper: Wrapper }), userEvents: userEvents.setup() };
|
|
}
|
|
|
|
export const RouterWrapper = ({ children }) => <BrowserRouter>{children}</BrowserRouter>;
|