import theme from 'themes/theme';
import { screen } from '@testing-library/react';
import { useDefaultColumnVisibility } from './useDefaultColumnVisibility';
import { render } from 'utils/testRenderer';
import { ThemeProvider } from 'themes/ThemeProvider';
import { resizeScreen } from 'utils/resizeScreen';
const columnIds = [
'select',
'favorite',
'name',
'createdAt',
'lastSeenAt',
'environment:development',
'environment:production',
'environment:dev2',
'environment:prod2',
'environment:staging',
'environment:test',
'actions',
];
const TestComponent: React.FC = () => {
const columns = useDefaultColumnVisibility(columnIds);
return (
{Object.keys(columns).map((column) => (
- {column}
))}
);
};
test.each(Object.keys(theme.breakpoints.values))(
'it renders all envs on %s screens',
(screenSize) => {
resizeScreen(
theme.breakpoints.values[
screenSize as keyof typeof theme.breakpoints.values
] + 1,
);
render();
const allEnvs = columnIds.filter((column) =>
column.startsWith('environment:'),
);
for (const env of allEnvs) {
screen.getByText(env);
}
},
);