/**
* Component: Available Indexer Row Tests
* Documentation: documentation/frontend/components.md
*/
// @vitest-environment jsdom
import { describe, expect, it, vi } from 'vitest';
import { fireEvent, render, screen } from '@testing-library/react';
import { AvailableIndexerRow } from '@/components/admin/indexers/AvailableIndexerRow';
describe('AvailableIndexerRow', () => {
const indexer = {
id: 1,
name: 'Test Indexer',
protocol: 'torrent',
supportsRss: true,
};
it('renders an add button when the indexer is not added', () => {
const onAdd = vi.fn();
render();
fireEvent.click(screen.getByRole('button', { name: 'Add' }));
expect(onAdd).toHaveBeenCalledTimes(1);
expect(screen.getByText('Test Indexer')).toBeInTheDocument();
expect(screen.getByText('torrent')).toBeInTheDocument();
});
it('renders the added state when already configured', () => {
render();
expect(screen.getByText('Added')).toBeInTheDocument();
expect(screen.queryByRole('button', { name: 'Add' })).toBeNull();
});
});