test-field-ops.jsโข2.69 kB
#!/usr/bin/env node
/**
* Simple test to verify field operations are loaded correctly
*/
import { createFieldOperations, fieldOperationHandlers, fieldOperationTools } from '../src/field-operations/index.js';
import fieldRegistry from '../src/field-definitions/field-registry.js';
import FieldAwareValidator from '../src/config/field-validation.js';
console.log('๐งช Testing Field Operations Module...\n');
// Check exports
console.log('๐ฆ Checking exports:');
console.log(` โ
createFieldOperations: ${typeof createFieldOperations === 'function' ? 'Function' : 'Missing'}`);
console.log(` โ
fieldOperationHandlers: ${typeof fieldOperationHandlers === 'object' ? 'Object' : 'Missing'}`);
console.log(` โ
fieldOperationTools: ${Array.isArray(fieldOperationTools) ? `Array (${fieldOperationTools.length} tools)` : 'Missing'}`);
// Check tools
console.log('\n๐ง Field Operation Tools:');
if (Array.isArray(fieldOperationTools)) {
fieldOperationTools.forEach(tool => {
console.log(` โ
${tool.name} - ${tool.description}`);
});
}
// Check handlers
console.log('\n๐ฏ Field Operation Handlers:');
const expectedHandlers = ['gf_add_field', 'gf_update_field', 'gf_delete_field', 'gf_list_field_types'];
expectedHandlers.forEach(handler => {
const exists = handler in fieldOperationHandlers;
console.log(` ${exists ? 'โ
' : 'โ'} ${handler}: ${exists ? 'Present' : 'Missing'}`);
});
// Test field registry
console.log('\n๐ Field Registry:');
console.log(` Total field types: ${Object.keys(fieldRegistry).length}`);
const sampleTypes = ['text', 'email', 'address', 'name', 'date'];
sampleTypes.forEach(type => {
console.log(` ${type in fieldRegistry ? 'โ
' : 'โ'} ${type}: ${type in fieldRegistry ? 'Defined' : 'Missing'}`);
});
// Test creating field operations
console.log('\n๐๏ธ Creating Field Operations:');
try {
// Mock API client
const mockApiClient = {
getForm: async () => ({ fields: [] }),
updateForm: async (form) => ({ form })
};
const validator = new FieldAwareValidator();
const fieldOps = createFieldOperations(mockApiClient, fieldRegistry, validator);
console.log(` โ
fieldManager: ${fieldOps.fieldManager ? 'Created' : 'Missing'}`);
console.log(` โ
dependencyTracker: ${fieldOps.dependencyTracker ? 'Created' : 'Missing'}`);
console.log(` โ
positionEngine: ${fieldOps.positionEngine ? 'Created' : 'Missing'}`);
console.log(` โ
config: ${fieldOps.config ? 'Present' : 'Missing'}`);
console.log('\n๐ Field Operations Module Successfully Loaded!');
} catch (error) {
console.error('\nโ Error creating field operations:', error.message);
process.exit(1);
}
process.exit(0);