Files
nxxmdata/government-backend/test-device-warning-api.js

100 lines
3.3 KiB
JavaScript
Raw Normal View History

2025-10-09 18:01:06 +08:00
const axios = require('axios');
const API_BASE_URL = 'http://localhost:5352/api/device-warning';
const api = axios.create({
baseURL: API_BASE_URL,
timeout: 10000,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer test-token'
}
});
async function testDeviceWarningAPI() {
console.log('开始测试设备预警API...\n');
try {
// 测试获取预警统计
console.log('1. 测试获取预警统计...');
const statsResponse = await api.get('/stats');
console.log('预警统计:', statsResponse.data);
console.log('✅ 获取预警统计成功\n');
// 测试获取设备预警列表
console.log('2. 测试获取设备预警列表...');
const listResponse = await api.get('/', {
params: {
page: 1,
pageSize: 10,
deviceType: '智能项圈'
}
});
console.log('设备预警列表:', listResponse.data);
console.log('✅ 获取设备预警列表成功\n');
// 测试根据ID获取详情
if (listResponse.data.data && listResponse.data.data.list.length > 0) {
const firstWarning = listResponse.data.data.list[0];
console.log('3. 测试获取设备预警详情...');
const detailResponse = await api.get(`/${firstWarning.id}`);
console.log('设备预警详情:', detailResponse.data);
console.log('✅ 获取设备预警详情成功\n');
// 测试更新预警状态
console.log('4. 测试更新预警状态...');
const updateResponse = await api.patch(`/${firstWarning.id}/status`, {
status: 'resolved',
resolvedBy: '测试用户'
});
console.log('更新预警状态:', updateResponse.data);
console.log('✅ 更新预警状态成功\n');
}
// 测试创建新的设备预警
console.log('5. 测试创建设备预警...');
const createData = {
farmName: '测试养殖场',
farmerName: '测试养殖户',
phone: '138****8888',
deviceType: '智能耳标',
deviceNumber: 'TEST001',
alertType: '设备离线',
alertLevel: 'high',
description: '测试预警',
location: '测试位置',
batteryLevel: 20,
signalStrength: 30,
temperature: 25.5
};
const createResponse = await api.post('/', createData);
console.log('创建设备预警:', createResponse.data);
console.log('✅ 创建设备预警成功\n');
// 测试更新设备预警
if (createResponse.data.data) {
console.log('6. 测试更新设备预警...');
const updateData = {
description: '更新后的测试预警',
batteryLevel: 15
};
const updateResponse = await api.put(`/${createResponse.data.data.id}`, updateData);
console.log('更新设备预警:', updateResponse.data);
console.log('✅ 更新设备预警成功\n');
// 测试删除设备预警
console.log('7. 测试删除设备预警...');
const deleteResponse = await api.delete(`/${createResponse.data.data.id}`);
console.log('删除设备预警:', deleteResponse.data);
console.log('✅ 删除设备预警成功\n');
}
console.log('🎉 所有设备预警API测试通过');
} catch (error) {
console.error('❌ API测试失败:', error.response ? error.response.data : error.message);
}
}
testDeviceWarningAPI();