mirror of
https://github.com/jkingsman/Remote-Terminal-for-MeshCore.git
synced 2026-05-14 21:36:03 +02:00
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import { act, renderHook } from '@testing-library/react';
|
|
import { describe, expect, it } from 'vitest';
|
|
|
|
import { useAppShell } from '../hooks/useAppShell';
|
|
|
|
describe('useAppShell', () => {
|
|
it('opens new-message modal and closes the sidebar', () => {
|
|
const { result } = renderHook(() => useAppShell());
|
|
|
|
act(() => {
|
|
result.current.setSidebarOpen(true);
|
|
result.current.handleOpenNewMessage();
|
|
});
|
|
|
|
expect(result.current.showNewMessage).toBe(true);
|
|
expect(result.current.sidebarOpen).toBe(false);
|
|
});
|
|
|
|
it('toggles settings mode and closes the sidebar', () => {
|
|
const { result } = renderHook(() => useAppShell());
|
|
|
|
act(() => {
|
|
result.current.setSidebarOpen(true);
|
|
result.current.handleToggleSettingsView();
|
|
});
|
|
|
|
expect(result.current.showSettings).toBe(true);
|
|
expect(result.current.sidebarOpen).toBe(false);
|
|
|
|
act(() => {
|
|
result.current.handleCloseSettingsView();
|
|
});
|
|
|
|
expect(result.current.showSettings).toBe(false);
|
|
});
|
|
|
|
it('toggles the cracker shell without affecting sidebar state', () => {
|
|
const { result } = renderHook(() => useAppShell());
|
|
|
|
act(() => {
|
|
result.current.setSidebarOpen(true);
|
|
result.current.handleToggleCracker();
|
|
});
|
|
|
|
expect(result.current.showCracker).toBe(true);
|
|
expect(result.current.sidebarOpen).toBe(true);
|
|
});
|
|
});
|