Update selected item color in Pass menu
[ProtonMail-WebClient.git] / packages / hooks / useInstance.test.ts
blob329b20392c60d6a0feb426e4112522b970213c67
1 import { act, renderHook } from '@testing-library/react-hooks';
3 import useInstance from './useInstance';
5 describe('useInstance()', () => {
6     it('initiates with the value returned from its callback argument', () => {
7         const hook = renderHook(() => useInstance(() => 'initial'));
9         expect(hook.result.current).toBe('initial');
10     });
12     it('keeps referential equality of the initial value between render cycles', () => {
13         const initial = {};
15         const hook = renderHook(() => useInstance(() => initial));
17         act(() => {});
19         expect(hook.result.current).toBe(initial);
20     });
22     it('only executes the passed callback once', () => {
23         const callback = jest.fn(() => 'initial');
25         renderHook(() => useInstance(callback));
27         act(() => {});
29         expect(callback).toHaveBeenCalledTimes(1);
30     });
31 });