import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { render, screen, waitFor, cleanup } from '../../tests/helpers/render'; import userEvent from '@testing-library/user-event'; import { http, HttpResponse } from 'msw'; import { server } from '../../tests/helpers/msw/server'; import { resetAllStores, seedStore } from '../../tests/helpers/store'; import { buildUser } from '../../tests/helpers/factories'; import { useAuthStore } from '../store/authStore'; import { usePermissionsStore } from '../store/permissionsStore'; import { useJourneyStore } from '../store/journeyStore'; import JourneyDetailPage from './JourneyDetailPage'; // ── Mocks ──────────────────────────────────────────────────────────────────── vi.mock('../api/websocket', () => ({ connect: vi.fn(), disconnect: vi.fn(), getSocketId: vi.fn(() => null), setRefetchCallback: vi.fn(), setPreReconnectHook: vi.fn(), addListener: vi.fn(), removeListener: vi.fn(), })); vi.mock('react-leaflet', () => ({ MapContainer: ({ children }: any) =>
{children}
, TileLayer: () => null, Marker: ({ children }: any) =>
{children}
, Popup: ({ children }: any) =>
{children}
, Polyline: () => null, useMap: () => ({ fitBounds: vi.fn(), setView: vi.fn() }), })); vi.mock('../components/Layout/Navbar', () => ({ default: () =>