Files
SkillMate/.cleanup-backup/test-create-employee.js
Claude Project Manager 6b9b6d4f20 Initial commit
2025-09-20 21:31:04 +02:00

87 Zeilen
2.6 KiB
JavaScript

const axios = require('axios');
const API_URL = 'http://localhost:3004/api';
async function testCreateEmployee() {
try {
console.log('=== Testing Employee Creation with User Account ===\n');
// First login as admin
console.log('1. Logging in as admin...');
const loginResponse = await axios.post(`${API_URL}/auth/login`, {
username: 'admin',
password: 'admin123'
});
const token = loginResponse.data.token;
console.log('✓ Login successful, token received\n');
// Create a new employee with user account
console.log('2. Creating new employee with superuser account...');
const employeeData = {
firstName: 'Max',
lastName: 'Mustermann',
email: 'max.mustermann@test.com',
department: 'IT',
userRole: 'superuser',
createUser: true
};
const createResponse = await axios.post(
`${API_URL}/employees`,
employeeData,
{
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
}
);
console.log('✓ Employee created successfully!');
console.log('Response:', JSON.stringify(createResponse.data, null, 2));
if (createResponse.data.data?.temporaryPassword) {
console.log('\n=== IMPORTANT ===');
console.log('Temporary Password:', createResponse.data.data.temporaryPassword);
console.log('Employee ID:', createResponse.data.data.id);
console.log('User ID:', createResponse.data.data.userId);
console.log('=================\n');
}
// Try to fetch users to verify decryption works
console.log('3. Fetching users list to verify decryption...');
const usersResponse = await axios.get(
`${API_URL}/admin/users`,
{
headers: {
'Authorization': `Bearer ${token}`
}
}
);
console.log('✓ Users fetched successfully!');
console.log('Total users:', usersResponse.data.data.length);
const newUser = usersResponse.data.data.find(u => u.email === employeeData.email);
if (newUser) {
console.log('✓ New user found in list:', {
username: newUser.username,
email: newUser.email,
role: newUser.role
});
}
console.log('\n✓ All tests passed successfully!');
} catch (error) {
console.error('\n✗ Test failed:', error.response?.data || error.message);
if (error.response?.data?.error?.details) {
console.error('Validation errors:', error.response.data.error.details);
}
process.exit(1);
}
}
// Run the test
testCreateEmployee();