portalStore.spec.ts 1.0 KB

1234567891011121314151617181920212223242526272829
  1. import { createPinia, setActivePinia } from 'pinia';
  2. import { beforeEach, describe, expect, it } from 'vitest';
  3. import { agentCatalog } from '../../src/portal/catalog';
  4. import { usePortalStore } from '../../src/portal/state/portalStore';
  5. describe('portalStore', () => {
  6. beforeEach(() => setActivePinia(createPinia()));
  7. it('opens and closes an agent without changing the current root tab', () => {
  8. const store = usePortalStore();
  9. store.switchTab('services');
  10. store.openAgent('report');
  11. expect(store.activeTab).toBe('services');
  12. expect(store.activeAgent).toBe('report');
  13. store.closeAgent();
  14. expect(store.activeAgent).toBeNull();
  15. expect(store.activeTab).toBe('services');
  16. });
  17. it('exposes exactly the three P0 agent entries', () => {
  18. const enabled = agentCatalog.flatMap((cluster) =>
  19. cluster.stages.flatMap((stage) => stage.agents.filter((agent) => agent.mode)),
  20. );
  21. expect(enabled.map((agent) => agent.mode).sort()).toEqual(['registration', 'report', 'tongue']);
  22. });
  23. });