// platform-epf.test.mjs — Integration test: EPF build/dump roundtrip // Requires: 1C platform (1cv8.exe) via .v8-project.json // Steps: epf-init → form-add → form-compile → epf-build → epf-dump export const name = 'Сборка и разборка внешней обработки (roundtrip)'; export const setup = 'none'; export const requiresPlatform = true; export const steps = [ // ── 1. Create EPF ── { name: 'epf-init: пустая обработка', script: 'epf-init/scripts/init', args: { '-Name': 'RoundtripТест', '-SrcDir': '{workDir}' }, }, // ── 2. Add form to EPF ── { name: 'form-add: форма обработки', script: 'form-add/scripts/form-add', args: { '-ObjectPath': '{workDir}/RoundtripТест.xml', '-FormName': 'Форма', }, }, { name: 'form-compile: наполнение формы обработки', script: 'form-compile/scripts/form-compile', input: { elements: [ { id: 'ПутьКФайлу', type: 'input', path: 'ПутьКФайлу', title: 'Путь к файлу' }, { id: 'Загрузить', type: 'button', title: 'Загрузить', action: 'Загрузить' }, ], attributes: [ { id: 'ПутьКФайлу', type: 'String' }, ], commands: [ { id: 'Загрузить', title: 'Загрузить' }, ], }, args: { '-OutputPath': '{workDir}/RoundtripТест/Forms/Форма/Ext/Form.xml', '-JsonPath': '{inputFile}' }, }, // ── 3. Build EPF binary ── { name: 'epf-build: сборка EPF', script: 'epf-build/scripts/epf-build', args: { '-V8Path': '{v8path}', '-SourceFile': '{workDir}/RoundtripТест.xml', '-OutputFile': '{workDir}/RoundtripТест.epf', }, }, // ── 4. Create temp DB for dump ── { name: 'db-create: временная ИБ для разборки', script: 'db-create/scripts/db-create', args: { '-V8Path': '{v8path}', '-InfoBasePath': '{workDir}/tmpdb' }, }, // ── 5. Dump back to XML ── { name: 'epf-dump: разборка EPF в XML', script: 'epf-dump/scripts/epf-dump', args: { '-V8Path': '{v8path}', '-InputFile': '{workDir}/RoundtripТест.epf', '-OutputDir': '{workDir}/roundtrip-dump', '-InfoBasePath': '{workDir}/tmpdb', }, }, ];