import { useEffect, useState } from 'react'; /** * Use React useState hook and update it if initial data change. * * @param initial - The initial value. * @returns The state and a setter. */ export const useStateChange = (initial: T) => { const [state, setState] = useState(initial); useEffect(() => { setState(initial); }, [initial]); return [state, setState] as const; }; type='application/atom+xml'/>
aboutsummaryrefslogtreecommitdiffstats
blob: 4e665e07f0c9243400c8b438329b995871203393 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { render, screen } from '../../../../tests/utils';
import { DescriptionListGroup } from './description-list-group';

const itemLabel = 'Repellendus corporis facilis';
const itemValue = ['quos', 'eum'];

describe('DescriptionListGroup', () => {
  it('renders a couple of label', () => {
    render(<DescriptionListGroup label={itemLabel} value={itemValue} />);
    expect(screen.getByRole('term')).toHaveTextContent(itemLabel);
  });

  it('renders the right number of values', () => {
    render(<DescriptionListGroup label={itemLabel} value={itemValue} />);
    expect(screen.getAllByRole('definition')).toHaveLength(itemValue.length);
  });
});