agmission/Development/server/tests/utils/test_utm_zone.js

77 lines
3.4 KiB
JavaScript

describe('Utm Zone', function() {
this.timeout(120000); // 2 minutes for complex integration tests
it('should execute test successfully', async function() {
const { expect } = require('chai');
// Test UTM zone object functionality
const { SatLocLogParser } = require('../../helpers/satloc_log_parser');
const fs = require('fs');
async function testUTMZone() {
console.log('Testing UTM Zone Object...\n');
// Test with a real log file
const testFile = './test-logs/02220710.LOG';
if (fs.existsSync(testFile)) {
try {
const parser = new SatLocLogParser();
const buffer = fs.readFileSync(testFile);
console.log(`Processing file: ${testFile}`);
console.log(`File size: ${buffer.length} bytes\n`);
// Create minimal file context - the parser needs this
const fileContext = {
filenameJobId: null,
filePath: testFile,
fileName: 'test.LOG'
};
// Create minimal header info - the parser needs this too
const headerInfo = {
// Add minimal header - parser will extract what it needs
};
const results = await parser.parseRecordsFromBuffer(buffer, headerInfo, fileContext);
console.log('Parser Results:');
console.log(`- Result keys: ${Object.keys(results)}`);
console.log(`- Total job groups: ${results.jobGroups ? Object.keys(results.jobGroups).length : 'undefined'}`);
console.log(`- Job groups keys: ${results.jobGroups ? Object.keys(results.jobGroups) : 'N/A'}`);
console.log(`- UTM Zone type: ${typeof results.utmZone}`);
console.log(`- UTM Zone: ${JSON.stringify(results.utmZone)}`);
if (results.utmZone && typeof results.utmZone === 'object') {
console.log(`- Zone Number: ${results.utmZone.zoneNumber}`);
console.log(`- Hemisphere: ${results.utmZone.hemisphere}`);
console.log(`- toString(): ${results.utmZone.toString()}`);
console.log('\n✓ UTM Zone object structure is correct!');
} else {
console.log('\n✗ UTM Zone is not an object with the expected structure');
}
if (results.jobGroups && Object.keys(results.jobGroups).length > 0) {
console.log(`\nFirst job group details:`);
const firstGroupKey = Object.keys(results.jobGroups)[0];
const firstGroup = results.jobGroups[firstGroupKey];
console.log(`- Job ID: ${firstGroupKey}`);
console.log(`- Records count: ${firstGroup.length}`);
} else {
console.log('\n- No job groups found or jobGroups is undefined');
}
} catch (error) {
console.error('Error testing parser:', error.message);
console.error('Stack:', error.stack);
}
} else {
console.log(`Test file not found: ${testFile}`);
}
}
// Run the test
testUTMZone().catch(console.error);
});
});