Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / packages / hooks / useEffectOnce.test.ts
blobe60aaf647c80b5dc466f8e3e4d284777f22ce961
1 import { renderHook } from '@testing-library/react-hooks';
3 import useEffectOnce from './useEffectOnce';
5 describe('useEffect()', () => {
6     it('initiates with the value returned from its callback argument', () => {
7         const fn = jest.fn();
8         const { rerender } = renderHook(() => useEffectOnce(fn));
9         rerender();
10         expect(fn).toHaveBeenCalledTimes(1);
11     });
13     it('only calls once between renders', () => {
14         const fn = jest.fn();
15         const { rerender } = renderHook<{ a: string }, void>(({ a = '' }) => useEffectOnce(fn, [a]));
16         rerender({ a: 'b' });
17         expect(fn).toHaveBeenCalledTimes(1);
18         rerender({ a: 'c' });
19         expect(fn).toHaveBeenCalledTimes(1);
20     });
21 });