mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-10-15 00:41:26 +08:00
44 lines
919 B
TypeScript
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');
|
|
});
|
|
});
|