import * as React from 'react';
import { renderHook } from '@testing-library/react-hooks';
import { useExpanded } from './useExpanded';
import { StoreSetter, StoreContextProvider, memoryStore } from '../../store';
describe('useExpanded', () => {
const wrapper = ({ children }) => (
{children}
);
it('should return false by default', () => {
const { result } = renderHook(() => useExpanded('foo', 123), {
wrapper,
});
const [expanded] = result.current;
expect(expanded).toEqual(false);
});
it('should use the stored value', () => {
const { result } = renderHook(() => useExpanded('foo', 123), {
wrapper: ({ children }) => (
{children}
),
});
const [expanded] = result.current;
expect(expanded).toEqual(true);
});
it('should allow to toggle the state', () => {
const { result } = renderHook(() => useExpanded('foo', 789), {
wrapper,
});
const [expanded1, toggleExpanded1] = result.current;
expect(expanded1).toEqual(false);
toggleExpanded1();
const [expanded2, toggleExpanded2] = result.current;
expect(expanded2).toEqual(true);
toggleExpanded2();
const [expanded3] = result.current;
expect(expanded3).toEqual(false);
});
});