Wrap tests in describe block

This commit is contained in:
Mario Beltrán Alarcón 2019-07-21 19:55:29 +02:00
parent e958a061ac
commit 7b2f877dd3
2 changed files with 63 additions and 59 deletions

View File

@ -1,6 +1,8 @@
import useBoolean from '../useBoolean';
import useToggle from '../useToggle';
it('should be an alias for useToggle ', () => {
expect(useBoolean).toBe(useToggle);
describe('useBoolean hook', () => {
it('should be an alias for useToggle ', () => {
expect(useBoolean).toBe(useToggle);
});
});

View File

@ -1,83 +1,85 @@
import { act, renderHook } from '@testing-library/react-hooks';
import useToggle from '../useToggle';
const setUp = (initialValue: boolean) => renderHook(() => useToggle(initialValue));
describe('useToggle hook', () => {
const setUp = (initialValue: boolean) => renderHook(() => useToggle(initialValue));
it('should init state to true', () => {
const { result } = setUp(true);
it('should init state to true', () => {
const { result } = setUp(true);
expect(result.current[0]).toBe(true);
expect(typeof result.current[1]).toBe('function');
});
it('should init state to false', () => {
const { result } = setUp(false);
expect(result.current[0]).toBe(false);
expect(result.current[1]).toBeInstanceOf(Function);
});
it('should set state to true', () => {
const { result } = setUp(false);
const [, toggle] = result.current;
expect(result.current[0]).toBe(false);
act(() => {
toggle(true);
expect(result.current[0]).toBe(true);
expect(typeof result.current[1]).toBe('function');
});
expect(result.current[0]).toBe(true);
});
it('should init state to false', () => {
const { result } = setUp(false);
it('should set state to false', () => {
const { result } = setUp(true);
const [, toggle] = result.current;
expect(result.current[0]).toBe(true);
act(() => {
toggle(false);
expect(result.current[0]).toBe(false);
expect(result.current[1]).toBeInstanceOf(Function);
});
expect(result.current[0]).toBe(false);
});
it('should set state to true', () => {
const { result } = setUp(false);
const [, toggle] = result.current;
it('should toggle state from true', () => {
const { result } = setUp(true);
const [, toggle] = result.current;
expect(result.current[0]).toBe(false);
act(() => {
toggle();
act(() => {
toggle(true);
});
expect(result.current[0]).toBe(true);
});
expect(result.current[0]).toBe(false);
});
it('should set state to false', () => {
const { result } = setUp(true);
const [, toggle] = result.current;
it('should toggle state from false', () => {
const { result } = setUp(false);
const [, toggle] = result.current;
expect(result.current[0]).toBe(true);
act(() => {
toggle();
act(() => {
toggle(false);
});
expect(result.current[0]).toBe(false);
});
expect(result.current[0]).toBe(true);
});
it('should toggle state from true', () => {
const { result } = setUp(true);
const [, toggle] = result.current;
it('should ignore non-boolean parameters and toggle state', () => {
const { result } = setUp(true);
const [, toggle] = result.current;
act(() => {
toggle();
});
act(() => {
toggle('string');
expect(result.current[0]).toBe(false);
});
expect(result.current[0]).toBe(false);
it('should toggle state from false', () => {
const { result } = setUp(false);
const [, toggle] = result.current;
act(() => {
toggle({});
act(() => {
toggle();
});
expect(result.current[0]).toBe(true);
});
expect(result.current[0]).toBe(true);
it('should ignore non-boolean parameters and toggle state', () => {
const { result } = setUp(true);
const [, toggle] = result.current;
act(() => {
toggle('string');
});
expect(result.current[0]).toBe(false);
act(() => {
toggle({});
});
expect(result.current[0]).toBe(true);
});
});