react-use/tests/useQueue.test.ts
Anton Zinovyev 8de2a3ee13 chore: move tests to top level /tests folder
chore: move all the tests to the separate directory outside of sources;

chore: remove jest.config.js (config moved to the package.json);

test: unused import in test;

test: 💍 fix tests add back x and y to useMeasure

chore: 🤖 add linter to /tests folder

ci: 🎡 limit Jest worker count for CircleCI
2019-11-08 16:55:34 -05:00

34 lines
866 B
TypeScript

import { act, renderHook } from '@testing-library/react-hooks';
import useQueue from '../src/useQueue';
const setUp = (initialQueue?: any[]) => renderHook(() => useQueue(initialQueue));
it('takes initial state', () => {
const { result } = setUp([1, 2, 3]);
const { first, last, size } = result.current;
expect(first).toEqual(1);
expect(last).toEqual(3);
expect(size).toEqual(3);
});
it('appends new member', () => {
const { result } = setUp([1, 2]);
act(() => {
result.current.add(3);
});
const { first, last, size } = result.current;
expect(first).toEqual(1);
expect(last).toEqual(3);
expect(size).toEqual(3);
});
it('pops oldest member', () => {
const { result } = setUp([1, 2]);
act(() => {
result.current.remove();
});
const { first, size } = result.current;
expect(first).toEqual(2);
expect(size).toEqual(1);
});