feat(saju-ui-v2): useViewportMode hook (1024px breakpoint) + 3 tests

This commit is contained in:
2026-05-27 01:55:58 +09:00
parent d34bedcb4c
commit 7f42c40efc
2 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import { renderHook, act } from '@testing-library/react';
import { describe, it, expect, beforeEach } from 'vitest';
import useViewportMode from './useViewportMode';
describe('useViewportMode', () => {
beforeEach(() => {
window.innerWidth = 800;
});
it('returns mobile when width < 1024', () => {
window.innerWidth = 1023;
const { result } = renderHook(() => useViewportMode());
expect(result.current).toBe('mobile');
});
it('returns desktop when width >= 1024', () => {
window.innerWidth = 1024;
const { result } = renderHook(() => useViewportMode());
expect(result.current).toBe('desktop');
});
it('updates on resize', () => {
window.innerWidth = 800;
const { result } = renderHook(() => useViewportMode());
expect(result.current).toBe('mobile');
act(() => {
window.innerWidth = 1200;
window.dispatchEvent(new Event('resize'));
});
expect(result.current).toBe('desktop');
});
});