Skip to main content

Frontend Testing Guide

This guide covers how to test React components in Gofannon using Vitest.

Overview

Frontend tests use Vitest with React Testing Library to test React components in isolation.

Running Frontend Tests

cd webapp/packages/webui

# Run tests
pnpm test

# Run tests with coverage
pnpm test:coverage

# Run tests in watch mode
pnpm test:watch

Test Location

Frontend tests are co-located with components:

src/components/
ActionCard.jsx
ActionCard.test.jsx # Test file next to component

Writing Component Tests

import { render, screen } from '@testing-library/react';
import { describe, it, expect } from 'vitest';
import MyComponent from './MyComponent';

describe('MyComponent', () => {
it('renders correctly', () => {
render(<MyComponent title="Test" />);
expect(screen.getByText('Test')).toBeInTheDocument();
});
});

Configuration

Vitest configuration is in webapp/packages/webui/vitest.config.ts.