// 测试报名API的脚本
|
const axios = require('axios');
|
|
const API_URL = 'http://localhost:8080/api/graphql';
|
|
// 测试获取活动列表
|
async function testGetActivities() {
|
console.log('🔍 测试获取活动列表...');
|
try {
|
const response = await axios.post(API_URL, {
|
query: `
|
query {
|
allActivities {
|
id
|
name
|
signupDeadline
|
state
|
}
|
}
|
`
|
}, {
|
headers: {
|
'Content-Type': 'application/json'
|
}
|
});
|
|
console.log('✅ 活动列表获取成功:');
|
console.log(JSON.stringify(response.data, null, 2));
|
return response.data.data.allActivities;
|
} catch (error) {
|
console.error('❌ 获取活动列表失败:', error.response?.data || error.message);
|
return [];
|
}
|
}
|
|
// 测试报名API
|
async function testRegistration(activityId) {
|
console.log(`🚀 测试报名API (活动ID: ${activityId})...`);
|
try {
|
const response = await axios.post(API_URL, {
|
query: `
|
mutation {
|
submitActivityRegistration(input: {
|
activityId: "${activityId}",
|
playerInfo: {
|
name: "测试学员${Date.now()}",
|
phone: "138${String(Date.now()).slice(-8)}",
|
gender: 1,
|
education: "本科",
|
introduction: "这是一个测试报名",
|
description: "测试描述"
|
},
|
regionId: "1",
|
description: "测试报名描述",
|
mediaFiles: []
|
}) {
|
success
|
message
|
registrationId
|
}
|
}
|
`
|
}, {
|
headers: {
|
'Content-Type': 'application/json'
|
}
|
});
|
|
console.log('✅ 报名API调用成功:');
|
console.log(JSON.stringify(response.data, null, 2));
|
return response.data.data.submitActivityRegistration;
|
} catch (error) {
|
console.error('❌ 报名API调用失败:', error.response?.data || error.message);
|
return null;
|
}
|
}
|
|
// 主测试函数
|
async function runTests() {
|
console.log('🎯 开始测试报名API功能...\n');
|
|
// 1. 获取活动列表
|
const activities = await testGetActivities();
|
console.log('\n' + '='.repeat(50) + '\n');
|
|
if (activities.length === 0) {
|
console.log('⚠️ 没有找到可用的活动,无法测试报名功能');
|
return;
|
}
|
|
// 2. 使用第一个活动进行报名测试
|
const firstActivity = activities[0];
|
console.log(`📝 使用活动 "${firstActivity.name}" (ID: ${firstActivity.id}) 进行报名测试`);
|
|
const registrationResult = await testRegistration(firstActivity.id);
|
console.log('\n' + '='.repeat(50) + '\n');
|
|
if (registrationResult && registrationResult.success) {
|
console.log('🎉 报名功能测试成功!');
|
console.log(`📋 报名ID: ${registrationResult.registrationId}`);
|
} else {
|
console.log('❌ 报名功能测试失败');
|
if (registrationResult && registrationResult.message) {
|
console.log(`错误信息: ${registrationResult.message}`);
|
}
|
}
|
}
|
|
// 运行测试
|
runTests().catch(console.error);
|