gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/support-us/use-support-us.test.ts · master
Source
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 });