mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-30 00:16:56 +03:00
feat(skill-tests): platform integration tests via .v8-project.json
Runner reads v8path from .v8-project.json, skips platform tests if
1cv8.exe unavailable. Placeholders: {v8path}, {v8exe}, {dbPath}, etc.
- platform-config: cf-init → meta-compile → db-create → load → update
- platform-epf: epf-init → epf-build → db-create → epf-dump (roundtrip)
- platform-cfe: config + extension → db-create → load both → update both
All 6 integration tests green (3 file-only + 3 platform).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
be1bbb2d26
commit
29a5cbae4c
@@ -0,0 +1,93 @@
|
||||
// platform-cfe.test.mjs — Integration test: load CFE extension into 1C platform
|
||||
// Requires: 1C platform (1cv8.exe) via .v8-project.json
|
||||
// Steps: build config → build extension → db-create → load config → load extension → update
|
||||
|
||||
export const name = 'Загрузка расширения в базу с конфигурацией';
|
||||
export const setup = 'none';
|
||||
export const requiresPlatform = true;
|
||||
|
||||
export const steps = [
|
||||
// ── 1. Build minimal base config ──
|
||||
{
|
||||
name: 'cf-init: базовая конфигурация',
|
||||
script: 'cf-init/scripts/cf-init',
|
||||
args: { '-Name': 'БазаДляРасширения', '-OutputDir': '{workDir}/config' },
|
||||
},
|
||||
{
|
||||
name: 'meta-compile: Справочник Контрагенты',
|
||||
script: 'meta-compile/scripts/meta-compile',
|
||||
input: { type: 'Catalog', name: 'Контрагенты', codeLength: 9, descriptionLength: 100 },
|
||||
args: { '-JsonPath': '{inputFile}', '-OutputDir': '{workDir}/config' },
|
||||
},
|
||||
{
|
||||
name: 'cf-edit: регистрация + совместимость интерфейса',
|
||||
script: 'cf-edit/scripts/cf-edit',
|
||||
input: [
|
||||
{ operation: 'add-childObject', value: 'Catalog.Контрагенты' },
|
||||
{ operation: 'modify-property', value: 'InterfaceCompatibilityMode=TaxiEnableVersion8_2' },
|
||||
],
|
||||
args: { '-ConfigPath': '{workDir}/config', '-DefinitionFile': '{inputFile}' },
|
||||
},
|
||||
|
||||
// ── 2. Build extension (borrow without forms) ──
|
||||
{
|
||||
name: 'cfe-init: расширение',
|
||||
script: 'cfe-init/scripts/cfe-init',
|
||||
args: {
|
||||
'-Name': 'ТестРасширение',
|
||||
'-OutputDir': '{workDir}/ext',
|
||||
'-ConfigPath': '{workDir}/config',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'cfe-borrow: заимствование Catalog.Контрагенты',
|
||||
script: 'cfe-borrow/scripts/cfe-borrow',
|
||||
args: {
|
||||
'-ExtensionPath': '{workDir}/ext',
|
||||
'-ConfigPath': '{workDir}/config',
|
||||
'-Object': 'Catalog.Контрагенты',
|
||||
},
|
||||
},
|
||||
|
||||
// ── 3. Create DB, load config ──
|
||||
{
|
||||
name: 'db-create: создание ИБ',
|
||||
script: 'db-create/scripts/db-create',
|
||||
args: { '-V8Path': '{v8path}', '-InfoBasePath': '{workDir}/testdb' },
|
||||
},
|
||||
{
|
||||
name: 'db-load-xml: загрузка конфигурации',
|
||||
script: 'db-load-xml/scripts/db-load-xml',
|
||||
args: {
|
||||
'-V8Path': '{v8path}',
|
||||
'-InfoBasePath': '{workDir}/testdb',
|
||||
'-ConfigDir': '{workDir}/config',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'db-update: обновление БД (конфигурация)',
|
||||
script: 'db-update/scripts/db-update',
|
||||
args: { '-V8Path': '{v8path}', '-InfoBasePath': '{workDir}/testdb' },
|
||||
},
|
||||
|
||||
// ── 4. Load extension ──
|
||||
{
|
||||
name: 'db-load-xml: загрузка расширения',
|
||||
script: 'db-load-xml/scripts/db-load-xml',
|
||||
args: {
|
||||
'-V8Path': '{v8path}',
|
||||
'-InfoBasePath': '{workDir}/testdb',
|
||||
'-ConfigDir': '{workDir}/ext',
|
||||
'-Extension': 'ТестРасширение',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'db-update: обновление БД (расширение)',
|
||||
script: 'db-update/scripts/db-update',
|
||||
args: {
|
||||
'-V8Path': '{v8path}',
|
||||
'-InfoBasePath': '{workDir}/testdb',
|
||||
'-Extension': 'ТестРасширение',
|
||||
},
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user