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

72 Zeilen
2.4 KiB
JavaScript

const axios = require('axios');
const API_URL = 'http://localhost:3005/api';
async function testMinimalEmployeeCreation() {
try {
console.log('1. Testing login...');
// First, login to get a token
const loginResponse = await axios.post(`${API_URL}/auth/login`, {
username: 'admin',
password: 'ChangeMe123!@#'
});
const token = loginResponse.data.data.token.accessToken;
console.log('✅ Login successful');
// Create headers with auth token
const headers = {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
};
console.log('\n2. Creating employee with minimal data (like Admin Panel)...');
// Create a test employee with minimal data
const minimalEmployeeData = {
firstName: 'Test',
lastName: 'Minimal',
email: 'test.minimal@example.com',
department: 'IT',
createUser: true,
userRole: 'user'
};
const createResponse = await axios.post(
`${API_URL}/employees`,
minimalEmployeeData,
{ headers }
);
console.log('✅ Employee created successfully with minimal data!');
console.log('Employee ID:', createResponse.data.data.id);
if (createResponse.data.data.temporaryPassword) {
console.log('Temporary Password:', createResponse.data.data.temporaryPassword);
}
// Fetch the created employee
console.log('\n3. Fetching created employee...');
const getResponse = await axios.get(
`${API_URL}/employees/${createResponse.data.data.id}`,
{ headers }
);
console.log('✅ Employee fetched successfully!');
console.log('Employee Data:');
console.log('- Name:', getResponse.data.data.firstName, getResponse.data.data.lastName);
console.log('- Email:', getResponse.data.data.email);
console.log('- Phone:', getResponse.data.data.phone, '(Default value)');
console.log('- Position:', getResponse.data.data.position, '(Default value)');
console.log('- Department:', getResponse.data.data.department);
console.log('- Employee Number:', getResponse.data.data.employeeNumber, '(Auto-generated)');
console.log('\n✅ Minimal employee creation working! User can complete profile on first login.');
} catch (error) {
console.error('❌ Test failed:', error.response?.data || error.message);
if (error.response?.data?.error?.details) {
console.error('Details:', error.response.data.error.details);
}
}
}
testMinimalEmployeeCreation();