| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { describe, it, expect, vi } from 'vitest';
- import { render, screen } from '@testing-library/react';
- import '@testing-library/jest-dom';
- import { LoginPage } from '../../src/components/LoginPage';
- import { TestWrapper } from '../test-utils';
- // Mock useAuth钩子
- const mockLogin = vi.fn();
- const mockNavigate = vi.fn();
- vi.mock('../../src/hooks/AuthProvider', () => ({
- useAuth: () => ({
- login: mockLogin,
- user: null,
- token: null,
- isAuthenticated: false,
- isLoading: false,
- logout: vi.fn(),
- }),
- }));
- vi.mock('react-router', () => ({
- useNavigate: () => mockNavigate,
- }));
- // Mock toast
- vi.mock('sonner', () => ({
- toast: {
- success: vi.fn(),
- error: vi.fn(),
- }
- }));
- describe('LoginPage 简单测试', () => {
- it('应该正确渲染登录页面标题', () => {
- render(<LoginPage />, { wrapper: TestWrapper });
- expect(screen.getByText('管理后台登录')).toBeInTheDocument();
- });
- it('应该包含用户名和密码输入字段', () => {
- render(<LoginPage />, { wrapper: TestWrapper });
- expect(screen.getByPlaceholderText('请输入用户名')).toBeInTheDocument();
- expect(screen.getByPlaceholderText('请输入密码')).toBeInTheDocument();
- });
- });
|