72 Zeilen
2.4 KiB
JavaScript
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(); |