diff --git a/apps/readest-app/src/__tests__/components/AtmosphereOverlay.test.tsx b/apps/readest-app/src/__tests__/components/AtmosphereOverlay.test.tsx new file mode 100644 index 00000000..2ed6a321 --- /dev/null +++ b/apps/readest-app/src/__tests__/components/AtmosphereOverlay.test.tsx @@ -0,0 +1,41 @@ +import { describe, it, expect, vi, afterEach } from 'vitest'; +import { render, cleanup } from '@testing-library/react'; + +// Mock zustand stores before importing the component +vi.mock('@/store/atmosphereStore', () => ({ + useAtmosphereStore: vi.fn(), +})); +vi.mock('@/store/themeStore', () => ({ + useThemeStore: vi.fn(), +})); + +import AtmosphereOverlay from '@/components/AtmosphereOverlay'; +import { useAtmosphereStore } from '@/store/atmosphereStore'; +import { useThemeStore } from '@/store/themeStore'; + +afterEach(cleanup); + +const setupStores = (active: boolean) => { + vi.mocked(useAtmosphereStore).mockImplementation((selector: unknown) => + (selector as (s: { active: boolean }) => unknown)({ active }), + ); + vi.mocked(useThemeStore).mockImplementation((selector: unknown) => + (selector as (s: { isDarkMode: boolean }) => unknown)({ isDarkMode: false }), + ); +}; + +describe('AtmosphereOverlay', () => { + it('does not render