5180 fichiers 38.5 Mo 0 téléchargements 218 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / hooks / catalog / useRecyclerEngineAnimation.test.tsx
useRecyclerEngineAnimation.test.tsx 1.4 Ko Télécharger le fichier
import { act, renderHook } from '@testing-library/react';
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { useRecyclerEngineAnimation } from './useRecyclerEngineAnimation';

describe('useRecyclerEngineAnimation (AIR RecyclerEngineAnimator)', () => {
    beforeEach(() => {
        vi.useFakeTimers();
    });

    afterEach(() => {
        vi.useRealTimers();
    });

    it('runs at least 3 s and until the recycle ends, then rests', () => {
        const { result, rerender } = renderHook(({ active }) => useRecyclerEngineAnimation(active), { initialProps: { active: true } });

        act(() => {
            vi.advanceTimersByTime(500);
        });
        expect(result.current.angle).not.toBe(0);

        rerender({ active: false });
        act(() => {
            vi.advanceTimersByTime(1000);
        });
        // Still inside the 3 s minimum.
        expect(result.current.angle).not.toBe(0);

        act(() => {
            vi.advanceTimersByTime(20000);
        });
        expect(result.current).toEqual({ angle: 0, shakeX: 0, shakeY: 0 });
    });

    it('stays at rest while nothing runs', () => {
        const { result } = renderHook(() => useRecyclerEngineAnimation(false));

        act(() => {
            vi.advanceTimersByTime(1000);
        });
        expect(result.current).toEqual({ angle: 0, shakeX: 0, shakeY: 0 });
    });
});
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser