/* @vitest-environment jsdom */ import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { expect, test, vi } from 'vitest'; import { PlatformProfileContentRow } from './PlatformProfileContentRow'; import { PlatformProfileSkeletonList } from './PlatformProfileSkeletonList'; import { PlatformProfileSummaryHeader } from './PlatformProfileSummaryHeader'; test('platform profile summary header renders kicker, title and badge slot', () => { render( 1.5小时} />, ); expect(screen.getByText('PLAYED')).toBeTruthy(); expect(screen.getByText('玩过')).toBeTruthy(); expect(screen.getByText('1.5小时')).toBeTruthy(); }); test('platform profile skeleton list renders requested skeleton rows', () => { const { container } = render( , ); expect(container.querySelectorAll('.animate-pulse')).toHaveLength(3); expect(container.querySelector('.space-y-3')).toBeTruthy(); expect(container.querySelector('.h-16')).toBeTruthy(); }); test('platform profile content row preserves interactive button semantics', async () => { const user = userEvent.setup(); const onClick = vi.fn(); render( 点击行 , ); await user.click(screen.getByRole('button', { name: '点击行' })); expect(onClick).toHaveBeenCalledTimes(1); });