Files
NanoJason/test-api.js
2025-12-06 16:02:48 +04:00

90 lines
3.1 KiB
JavaScript

// Node.js 18+ has built-in fetch
async function testAPI() {
try {
// Test login (user already exists)
console.log('Testing login...');
const loginResponse = await fetch('http://localhost:12004/api/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'test@example.com',
password: 'test123'
})
});
if (loginResponse.ok) {
const loginData = await loginResponse.json();
console.log('Login successful:', loginData);
const token = loginData.token;
// Test mood tracking
console.log('\nTesting mood tracking...');
const moodResponse = await fetch('http://localhost:12004/api/mood/track', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
moodType: 'happy',
intensity: 8,
notes: 'Feeling good today!'
})
});
if (moodResponse.ok) {
console.log('Mood tracking successful');
} else {
console.log('Mood tracking failed');
}
// Test notifications
console.log('\nTesting notifications...');
const notifResponse = await fetch('http://localhost:12004/api/notifications', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
title: 'Test Notification',
message: 'This is a test notification',
type: 'info'
})
});
if (notifResponse.ok) {
console.log('Notification creation successful');
const notifData = await notifResponse.json();
console.log('Notification data:', notifData);
} else {
console.log('Notification creation failed');
const errorData = await notifResponse.json();
console.log('Error:', errorData);
}
// Get notifications
const getNotifResponse = await fetch('http://localhost:12004/api/notifications', {
headers: {
'Authorization': `Bearer ${token}`
}
});
if (getNotifResponse.ok) {
const notifications = await getNotifResponse.json();
console.log('Notifications retrieved:', notifications.length);
}
} else {
console.log('Registration failed');
}
} catch (error) {
console.error('API test error:', error);
}
}
testAPI();