From 28f3410463f37b805d46920ff7399e6cd496d0af Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 19 Jul 2026 19:50:06 +0300 Subject: [PATCH] =?UTF-8?q?test(build-cfe):=20=D0=B0=D0=BA=D1=82=D1=83?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BF=D0=BE=D0=B4=20cfe-patch-method=20v2=20(source-a?= =?UTF-8?q?ware)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cfe-patch-method стал source-aware: читает оригинал метода из -ConfigPath. Тест не передавал -ConfigPath и опирался на пустой ObjectModule источника → шаг перехвата падал «Не указан -ConfigPath». Добавлен seed-шаг с процедурой ПриЗаписи в исходный модуль + -ConfigPath в вызов перехватчика. Co-Authored-By: Claude Opus 4.8 --- tests/skills/integration/build-cfe.test.mjs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/skills/integration/build-cfe.test.mjs b/tests/skills/integration/build-cfe.test.mjs index a145b8b8..070045ce 100644 --- a/tests/skills/integration/build-cfe.test.mjs +++ b/tests/skills/integration/build-cfe.test.mjs @@ -1,5 +1,5 @@ // build-cfe.test.mjs — Integration test: build a 1C extension (CFE) from scratch -// Steps: cfe-init → cfe-borrow (catalog) → cfe-patch-method (Before interceptor) → cfe-validate +// Steps: cfe-init → cfe-borrow (catalog) → seed source method → cfe-patch-method (Before interceptor) → cfe-validate export const name = 'Сборка расширения конфигурации (CFE)'; export const setup = 'base-config'; @@ -21,12 +21,22 @@ export const steps = [ validate: { script: 'cfe-validate/scripts/cfe-validate', flag: '-ExtensionPath', path: 'ext' }, }, + // ── 2b. Seed the source object module with a method to intercept ── + // cfe-patch-method (v2) reads the original from -ConfigPath; base-config ships an empty + // ObjectModule, so provide a ПриЗаписи handler for the interceptor to wrap. + { + name: 'seed: ПриЗаписи в исходном модуле Контрагентов', + writeFile: '{workDir}/Catalogs/Контрагенты/Ext/ObjectModule.bsl', + content: 'Процедура ПриЗаписи(Отказ)\n\nКонецПроцедуры\n', + }, + // ── 3. Add a Before interceptor for a method on the borrowed catalog ── { name: 'cfe-patch-method: перехватчик Перед для ПриЗаписи', script: 'cfe-patch-method/scripts/cfe-patch-method', args: { '-ExtensionPath': '{workDir}/ext', + '-ConfigPath': '{workDir}', '-ModulePath': 'Catalog.Контрагенты.ObjectModule', '-MethodName': 'ПриЗаписи', '-InterceptorType': 'Before',