Files
lcbp3/frontend/lib/stores/__tests__/ui-store.test.ts
T
admin 7e8f4859cd
CI / CD Pipeline / build (push) Failing after 6m24s
CI / CD Pipeline / deploy (push) Has been skipped
feat(ai): add ADR-036 unified OCR architecture and frontend test coverage
- Add ADR-036 unified OCR architecture (typhoon-ocr via Ollama)
- Extend AI execution profiles for OCR sandbox configuration
- Add comprehensive frontend test coverage (components, hooks, services)
- Add backend test coverage for document-numbering services
- Update OCR sidecar with typhoon-ocr integration
- Add AI policy service and execution profile management
- Update AGENTS.md and architecture documentation
2026-06-14 06:34:07 +07:00

60 lines
1.9 KiB
TypeScript

// File: frontend/lib/stores/__tests__/ui-store.test.ts
// Change Log:
// - 2026-06-13: Initial creation - test coverage for useUIStore (Zustand)
import { describe, it, expect, beforeEach } from 'vitest';
import { act, renderHook } from '@testing-library/react';
import { useUIStore } from '../ui-store';
describe('useUIStore', () => {
beforeEach(() => {
// รีเซ็ต store ก่อนแต่ละ test
act(() => {
useUIStore.setState({ isSidebarOpen: true });
});
});
it('ค่า default ควรเป็น isSidebarOpen: true', () => {
const { result } = renderHook(() => useUIStore());
expect(result.current.isSidebarOpen).toBe(true);
});
it('toggleSidebar ควรสลับค่า isSidebarOpen จาก true เป็น false', () => {
const { result } = renderHook(() => useUIStore());
act(() => {
result.current.toggleSidebar();
});
expect(result.current.isSidebarOpen).toBe(false);
});
it('toggleSidebar ควรสลับค่า isSidebarOpen จาก false เป็น true', () => {
act(() => {
useUIStore.setState({ isSidebarOpen: false });
});
const { result } = renderHook(() => useUIStore());
act(() => {
result.current.toggleSidebar();
});
expect(result.current.isSidebarOpen).toBe(true);
});
it('closeSidebar ควรตั้งค่า isSidebarOpen เป็น false', () => {
const { result } = renderHook(() => useUIStore());
act(() => {
result.current.closeSidebar();
});
expect(result.current.isSidebarOpen).toBe(false);
});
it('openSidebar ควรตั้งค่า isSidebarOpen เป็น true', () => {
act(() => {
useUIStore.setState({ isSidebarOpen: false });
});
const { result } = renderHook(() => useUIStore());
act(() => {
result.current.openSidebar();
});
expect(result.current.isSidebarOpen).toBe(true);
});
});