Files
nxxmdata/government-backend/test-device-warning-api.js
2025-10-09 18:01:06 +08:00

100 lines
3.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();