| import { render, screen } from '@testing-library/react'; |
| import { Router } from 'wouter'; // 使用 wouter 的 Router |
| import MainPage from './MainPage'; // 导入 MainPage 组件 |
| |
| test('renders MainPage with logo, navigation links, and user post', () => { |
| render( |
| <Router> |
| <MainPage /> |
| </Router> |
| ); |
| |
| // 检查页面中是否有 Echo 站点名称 |
| const siteNameElement = screen.getByText(/Echo/i); |
| expect(siteNameElement).toBeInTheDocument(); |
| |
| // 检查页面中是否有导航栏中的链接 |
| const friendMomentsLink = screen.getByText(/好友动态/i); |
| const forumLink = screen.getByText(/论坛/i); |
| const interestGroupsLink = screen.getByText(/兴趣小组/i); |
| const seedListLink = screen.getByText(/种子列表/i); |
| const publishSeedLink = screen.getByText(/发布种子/i); |
| |
| expect(friendMomentsLink).toBeInTheDocument(); |
| expect(forumLink).toBeInTheDocument(); |
| expect(interestGroupsLink).toBeInTheDocument(); |
| expect(seedListLink).toBeInTheDocument(); |
| expect(publishSeedLink).toBeInTheDocument(); |
| |
| // 检查页面中是否有用户动态信息 |
| const usernameElement = screen.getByText(/user1/i); |
| expect(usernameElement).toBeInTheDocument(); |
| |
| const postContentElement = screen.getByText(/动态内容.../i); |
| expect(postContentElement).toBeInTheDocument(); |
| |
| // 使用更精确的查询来获取喜欢数和评论数 |
| const likeCountElement = screen.getByText('21'); |
| const commentCountElement = screen.getByText('2'); |
| |
| expect(likeCountElement).toBeInTheDocument(); |
| expect(commentCountElement).toBeInTheDocument(); |
| }); |