ATProto social network
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334import { describe, it, expect, vi } from 'vitest';import { render, screen, fireEvent } from '@testing-library/svelte';import ErrorAlert from './ErrorAlert.svelte';
describe('ErrorAlert', () => { it('displays the error message', () => { render(ErrorAlert, { props: { message: 'Something went wrong' } }); expect(screen.getByText('Something went wrong')).toBeTruthy(); });
it('has alert role', () => { render(ErrorAlert, { props: { message: 'Error' } }); expect(screen.getByRole('alert')).toBeTruthy(); });
it('shows retry button when onretry is provided', () => { const onretry = vi.fn(); render(ErrorAlert, { props: { message: 'Error', onretry } }); expect(screen.getByText('Retry')).toBeTruthy(); });
it('does not show retry button when onretry is not provided', () => { render(ErrorAlert, { props: { message: 'Error' } }); expect(screen.queryByText('Retry')).toBeNull(); });
it('calls onretry when retry button is clicked', async () => { const onretry = vi.fn(); render(ErrorAlert, { props: { message: 'Error', onretry } }); await fireEvent.click(screen.getByText('Retry')); expect(onretry).toHaveBeenCalledOnce(); });});