Skip to content

Instantly share code, notes, and snippets.

@vercetti11
Created November 5, 2020 15:08
Show Gist options
  • Save vercetti11/5a604f97fa5d4e5662f9fb7917380e80 to your computer and use it in GitHub Desktop.
Save vercetti11/5a604f97fa5d4e5662f9fb7917380e80 to your computer and use it in GitHub Desktop.
import {renderHook, act} from '@testing-library/react-hooks'
import useCounter from '../../components/use-counter'
test('exposes the count and increment/decrement functions', () => {
const {result} = renderHook(useCounter)
expect(result.current.count).toBe(0)
act(() => result.current.increment())
expect(result.current.count).toBe(1)
act(() => result.current.decrement())
expect(result.current.count).toBe(0)
})
test('allows customization of the initial count', () => {
const {result} = renderHook(useCounter, {initialProps: {initialCount: 3}})
expect(result.current.count).toBe(3)
})
test('allows customization of the step', () => {
const {result} = renderHook(useCounter, {initialProps: {step: 2}})
expect(result.current.count).toBe(0)
act(() => result.current.increment())
expect(result.current.count).toBe(2)
act(() => result.current.decrement())
expect(result.current.count).toBe(0)
})
test('the step can be changed', () => {
const {result, rerender} = renderHook(useCounter, {
initialProps: {step: 3},
})
expect(result.current.count).toBe(0)
act(() => result.current.increment())
expect(result.current.count).toBe(3)
rerender({step: 2})
act(() => result.current.decrement())
expect(result.current.count).toBe(1)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment