90 lines
3.1 KiB
JavaScript
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(); |