https://dev.kronoz.win/r/marzneshin.git
| 1 |
7a20f06 |
Mardin |
2y ago |
import { useSupportUs } from './use-support-us'; |
| 2 |
7a20f06 |
Mardin |
2y ago |
import { describe, it, expect, } from 'vitest'; |
| 3 |
7a20f06 |
Mardin |
2y ago |
import { renderHook } from '@testing-library/react'; |
| 4 |
7a20f06 |
Mardin |
2y ago |
import { act } from "react"; |
| 5 |
7a20f06 |
Mardin |
2y ago |
|
| 6 |
7a20f06 |
Mardin |
2y ago |
import '@testing-library/jest-dom'; |
| 7 |
7a20f06 |
Mardin |
2y ago |
|
| 8 |
7a20f06 |
Mardin |
2y ago |
describe('useSupportUs hook', () => { |
| 9 |
7a20f06 |
Mardin |
2y ago |
it('returns local storage value and setter when variant is "local-storage"', () => { |
| 10 |
7a20f06 |
Mardin |
2y ago |
const defaultValue = true; |
| 11 |
7a20f06 |
Mardin |
2y ago |
const { result } = renderHook(() => useSupportUs('local-storage', defaultValue)); |
| 12 |
7a20f06 |
Mardin |
2y ago |
|
| 13 |
7a20f06 |
Mardin |
2y ago |
expect(result.current[0]).toBe(defaultValue); |
| 14 |
7a20f06 |
Mardin |
2y ago |
|
| 15 |
7a20f06 |
Mardin |
2y ago |
const newValue = !defaultValue; |
| 16 |
7a20f06 |
Mardin |
2y ago |
act(() => { |
| 17 |
7a20f06 |
Mardin |
2y ago |
result.current[1](newValue); |
| 18 |
7a20f06 |
Mardin |
2y ago |
}); |
| 19 |
7a20f06 |
Mardin |
2y ago |
|
| 20 |
7a20f06 |
Mardin |
2y ago |
expect(result.current[0]).toBe(newValue); |
| 21 |
7a20f06 |
Mardin |
2y ago |
}); |
| 22 |
7a20f06 |
Mardin |
2y ago |
|
| 23 |
7a20f06 |
Mardin |
2y ago |
it('returns state value and setter when variant is "status"', () => { |
| 24 |
7a20f06 |
Mardin |
2y ago |
const defaultValue = true; |
| 25 |
7a20f06 |
Mardin |
2y ago |
const { result } = renderHook(() => useSupportUs('status', defaultValue)); |
| 26 |
7a20f06 |
Mardin |
2y ago |
|
| 27 |
7a20f06 |
Mardin |
2y ago |
expect(result.current[0]).toBe(defaultValue); |
| 28 |
7a20f06 |
Mardin |
2y ago |
|
| 29 |
7a20f06 |
Mardin |
2y ago |
const newValue = !defaultValue; |
| 30 |
7a20f06 |
Mardin |
2y ago |
act(() => { |
| 31 |
7a20f06 |
Mardin |
2y ago |
result.current[1](newValue); |
| 32 |
7a20f06 |
Mardin |
2y ago |
}); |
| 33 |
7a20f06 |
Mardin |
2y ago |
|
| 34 |
7a20f06 |
Mardin |
2y ago |
expect(result.current[0]).toBe(newValue); |
| 35 |
7a20f06 |
Mardin |
2y ago |
}); |
| 36 |
7a20f06 |
Mardin |
2y ago |
}); |