Files
makelore/tests/unit/learning-project-image.test.tsx

31 lines
930 B
TypeScript

import { render, screen } from '@testing-library/react';
import { describe, expect, it } from 'vitest';
import { ProjectImage } from '@/pages/Learning/ProjectImage';
describe('Learning ProjectImage', () => {
it('renders a credential-free HTTPS image only when direct loading is allowed', () => {
const { rerender } = render(
<ProjectImage
src="https://images.example.com/diagram.svg"
alt="项目结构图"
allowHttps
/>,
);
expect(screen.getByAltText('项目结构图')).toHaveAttribute(
'src',
'https://images.example.com/diagram.svg',
);
rerender(
<ProjectImage
src="https://images.example.com/diagram.svg"
alt="项目结构图"
/>,
);
expect(screen.queryByAltText('项目结构图')).not.toBeInTheDocument();
expect(screen.getByRole('img', { name: '项目结构图加载失败' })).toBeInTheDocument();
});
});