signoz/frontend/src/hooks/usePreviousValue.test.tsx
Palash Gupta bbda684e65
test: some of the test case is added (#2616)
Co-authored-by: Vishal Sharma <makeavish786@gmail.com>
2023-05-02 19:03:48 +05:30

44 lines
919 B
TypeScript

import { renderHook } from '@testing-library/react';
import usePreviousValue from './usePreviousValue';
describe('usePreviousValue', () => {
test('returns the previous value of a given variable', () => {
const { result, rerender } = renderHook(
({ value }) => usePreviousValue(value),
{
initialProps: { value: 1 },
baseElement: document.body,
},
);
expect(result.current).toBeUndefined();
rerender({ value: 2 });
expect(result.current).toBe(1);
rerender({ value: 3 });
expect(result.current).toBe(2);
});
test('works with different types of values', () => {
const { result, rerender } = renderHook(
({ value }) => usePreviousValue(value),
{
initialProps: { value: 'a' },
},
);
expect(result.current).toBeUndefined();
rerender({ value: 'b' });
expect(result.current).toBe('a');
rerender({ value: 'c' });
expect(result.current).toBe('b');
});
});