TKK_E32231400/Back-End/test-batch-id.js

106 lines
3.7 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Script untuk test endpoint batch_id
*
* Usage: node test-batch-id.js
*/
const BACKEND_URL = process.env.BACKEND_URL || 'http://localhost:5000';
async function testHistoryEndpoint() {
console.log('\n=== Test GET /sterilisasi/history ===\n');
try {
const response = await fetch(`${BACKEND_URL}/sterilisasi/history`);
const data = await response.json();
if (data.status === 'success') {
console.log(`✅ Success! Found ${data.data.length} history entries\n`);
// Tampilkan 3 entry pertama dengan batch_id
console.log('Sample data (first 3):');
data.data.slice(0, 3).forEach((item, index) => {
console.log(`\n${index + 1}. ID: ${item._id}`);
console.log(` Device: ${item.device}`);
console.log(` Batch ID: ${item.batch_id || '❌ NULL'}`);
console.log(` Suhu: ${item.suhu}°C`);
console.log(` Tekanan: ${item.tekanan} bar`);
console.log(` Created: ${item.createdAt}`);
});
// Cek berapa yang punya batch_id
const withBatchId = data.data.filter(item => item.batch_id);
const withoutBatchId = data.data.filter(item => !item.batch_id);
console.log(`\n📊 Statistics:`);
console.log(` Total entries: ${data.data.length}`);
console.log(` With batch_id: ${withBatchId.length}`);
console.log(` Without batch_id: ${withoutBatchId.length} ⚠️`);
return withBatchId.length > 0 ? withBatchId[0].batch_id : null;
} else {
console.log('❌ Failed:', data);
return null;
}
} catch (error) {
console.error('❌ Error:', error.message);
return null;
}
}
async function testRunningBatchEndpoint(batchId) {
if (!batchId) {
console.log('\n⚠ Skipping running/batch test - no batch_id available\n');
return;
}
console.log(`\n=== Test GET /sterilisasi/running/batch/${batchId} ===\n`);
try {
const response = await fetch(`${BACKEND_URL}/sterilisasi/running/batch/${batchId}`);
const data = await response.json();
if (data.status === 'success') {
console.log(`✅ Success! Found ${data.count} running data points\n`);
if (data.data && data.data.length > 0) {
console.log('Sample data (first 5):');
data.data.slice(0, 5).forEach((item, index) => {
console.log(`\n${index + 1}. Action: ${item.action}`);
console.log(` Suhu: ${item.suhu ?? 'null'}°C`);
console.log(` Tekanan: ${item.tekanan ?? 'null'} bar`);
console.log(` Timer: ${item.timer ?? 'null'}`);
console.log(` Created: ${item.createdAt}`);
});
// Statistik data
const suhuData = data.data.map(item => item.suhu ?? 0);
const tekananData = data.data.map(item => item.tekanan ?? 0);
console.log(`\n📊 Data Statistics:`);
console.log(` Total points: ${data.data.length}`);
console.log(` Suhu range: ${Math.min(...suhuData)} - ${Math.max(...suhuData)}°C`);
console.log(` Tekanan range: ${Math.min(...tekananData)} - ${Math.max(...tekananData)} bar`);
console.log(` First timer: ${data.data[0].timer}`);
console.log(` Last timer: ${data.data[data.data.length - 1].timer}`);
} else {
console.log('⚠️ No data found for this batch_id');
}
} else {
console.log('❌ Failed:', data);
}
} catch (error) {
console.error('❌ Error:', error.message);
}
}
// Main execution
(async () => {
console.log('🧪 Testing batch_id endpoints...\n');
console.log(`Backend URL: ${BACKEND_URL}\n`);
const batchId = await testHistoryEndpoint();
await testRunningBatchEndpoint(batchId);
console.log('\n✅ Test complete!\n');
})();