const axios = require('axios');

// 测试登录功能
async function testLogin() {
    const baseURL = 'http://localhost:3000';
    
    console.log('=== 开始测试登录功能 ===\n');
    
    try {
        // 测试1: 正确的用户名和密码
        console.log('测试1: 使用正确的用户名和密码登录');
        const loginResponse = await axios.post(`${baseURL}/api/auth/login`, {
            username: 'admin',
            password: '123456'
        });
        
        console.log('登录成功:', loginResponse.data);
        const token = loginResponse.data.data.token;
        
        // 测试2：使用token访问受保护的API
        console.log('\n测试2：使用token访问生资保单API...');
        const protectedResponse = await axios.get('http://localhost:3000/api/livestock-policies', {
            headers: {
                'Authorization': `Bearer ${token}`
            }
        });
        console.log('✓ 带token访问成功:', protectedResponse.data);
        
        // 测试3: 错误的用户名和密码
        console.log('\n测试3: 使用错误的用户名和密码');
        try {
            await axios.post(`${baseURL}/api/auth/login`, {
                username: 'wronguser',
                password: 'wrongpass'
            });
        } catch (error) {
            console.log('预期的登录失败:', error.response?.data?.message || error.message);
        }
        
        // 测试4: 无token访问受保护的API
        console.log('\n测试4: 无token访问受保护的API');
        try {
            await axios.get(`${baseURL}/api/livestock-policies`);
        } catch (error) {
            console.log('预期的访问失败:', error.response?.data?.message || error.message);
        }
        
        console.log('\n=== 登录功能测试完成 ===');
        
    } catch (error) {
        console.error('测试失败:', error.response?.data || error.message);
    }
}

// 运行测试
testLogin();