interfaceMode.test.ts 953 B

1234567891011121314151617181920212223
  1. import { beforeEach, describe, expect, it } from 'vitest'
  2. import { rememberInterfacePath, savedInterfacePath } from '@/utils/interfaceMode'
  3. beforeEach(() => localStorage.clear())
  4. describe('last interface mode', () => {
  5. it('restores Bot mode and chat mode after explicit navigation', () => {
  6. expect(savedInterfacePath()).toBe('/chat')
  7. rememberInterfacePath('/conversations/existing-group')
  8. expect(savedInterfacePath()).toBe('/conversations')
  9. rememberInterfacePath('/files')
  10. expect(savedInterfacePath()).toBe('/conversations')
  11. rememberInterfacePath('/chat/existing-session')
  12. expect(savedInterfacePath()).toBe('/chat')
  13. })
  14. it('does not mistake unrelated paths or invalid storage for a mode', () => {
  15. localStorage.setItem('hermes-yaoyao:interface-mode', 'invalid')
  16. expect(savedInterfacePath()).toBe('/chat')
  17. rememberInterfacePath('/conversations-other')
  18. expect(savedInterfacePath()).toBe('/chat')
  19. })
  20. })