mattrguerra/cortexmainPrivate on GitHub, published here in full

App.test.tsx

Language TypeScript859 B20 lines

src/App.test.tsx

  1. import { render, screen } from '@testing-library/react'
  2. import { expect, it } from 'vitest'
  3. import { App } from './App'
  4. // The whole app on sample data. A store selector that returns a fresh object
  5. // on every call makes React re-render forever, which fails this render.
  6. it('the whole app renders on sample data', async () => {
  7. window.matchMedia ??= ((q: string) => ({
  8. matches: false,
  9. media: q,
  10. addEventListener() {},
  11. removeEventListener() {},
  12. })) as never
  13. window.requestAnimationFrame ??= ((cb: FrameRequestCallback) => setTimeout(() => cb(0), 0)) as never
  14. render(<App />)
  15. expect(await screen.findByTestId('composer-input', {}, { timeout: 3000 })).toBeInTheDocument()
  16. expect(await screen.findByText('Tidy a bash backup script')).toBeInTheDocument()
  17. expect(screen.getByTestId('spend-meter')).toHaveTextContent('This month')
  18. })