49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
import { cleanup, render, screen } from '@testing-library/react';
|
|
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
import { HelpDialog } from '../../../src/components/HelpDialog';
|
|
|
|
afterEach(cleanup);
|
|
|
|
describe('HelpDialog', () => {
|
|
it('exposes bundled engine, licence, source and privacy context', () => {
|
|
render(<HelpDialog open={false} onClose={vi.fn()} />);
|
|
|
|
expect(
|
|
screen.getByRole('heading', {
|
|
name: 'About & licences',
|
|
hidden: true,
|
|
})
|
|
).toBeInTheDocument();
|
|
expect(screen.getByText('n5.1.4')).toBeInTheDocument();
|
|
expect(screen.getByText('0.12.15')).toBeInTheDocument();
|
|
expect(screen.getByText('0.12.10 · ST & MT')).toBeInTheDocument();
|
|
expect(
|
|
screen.getByText(/copyright © 2026 Albrecht Degering/i)
|
|
).toBeInTheDocument();
|
|
expect(
|
|
screen.getByRole('link', { name: 'Application GPL', hidden: true })
|
|
).toHaveAttribute('href', expect.stringContaining('LICENSE'));
|
|
expect(
|
|
screen.getByRole('link', { name: 'MIT text', hidden: true })
|
|
).toHaveAttribute('href', expect.stringContaining('ffmpeg.wasm-MIT'));
|
|
expect(
|
|
screen.getByRole('link', { name: 'GPL text', hidden: true })
|
|
).toHaveAttribute('href', expect.stringContaining('GPL-2.0-or-later'));
|
|
expect(
|
|
screen.getByRole('link', {
|
|
name: 'Complete inventory',
|
|
hidden: true,
|
|
})
|
|
).toHaveAttribute('href', expect.stringContaining('THIRD_PARTY_NOTICES'));
|
|
expect(
|
|
screen.getByRole('link', {
|
|
name: 'Source & reproducibility record',
|
|
hidden: true,
|
|
})
|
|
).toHaveAttribute('href', expect.stringContaining('SOURCE'));
|
|
expect(
|
|
screen.getByText(/source files stay inside the browser session/i)
|
|
).toBeInTheDocument();
|
|
});
|
|
});
|