1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2024-11-24 08:32:25 +02:00

#ARCH-2958

Поправил ошибку, добавил тесты
This commit is contained in:
Dmitriy Medvedev 2020-02-25 15:33:06 +03:00
parent 464a8305fe
commit 5ad7c23f11
2 changed files with 65 additions and 2 deletions

View File

@ -0,0 +1,61 @@
# language: ru
Функциональность: Выполнение прекоммита
Как разработчик
Я хочу быть уверенным, что precommit4onec корректно обрабатывает выполнение сценариев для каталога
Контекст:
Допустим Я очищаю параметры команды "oscript" в контексте
И я очищаю параметры команды "git" в контексте
И Я устанавливаю кодировку вывода "utf-8" команды "git"
И я включаю отладку лога с именем "oscript.app.precommit4onec"
И я создаю временный каталог и запоминаю его как "КаталогРепозиториев"
И я переключаюсь во временный каталог "КаталогРепозиториев"
И я создаю новый репозиторий "rep1" в каталоге "КаталогРепозиториев" и запоминаю его как "РабочийКаталог"
И я установил рабочий каталог как текущий каталог
Сценарий: Разбор отчетов, обработок, конфигурации на исходники.
Когда Я копирую файл "tests/fixtures/demo/DemoОбработка.epf" в каталог репозитория "РабочийКаталог"
И я копирую файл "tests/fixtures/demo/DemoОтчет.erf" в каталог репозитория "РабочийКаталог"
И я копирую файл "tests/fixtures/demo/DemoРасширение.cfe" в каталог репозитория "РабочийКаталог"
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os exec-rules <РабочийКаталог> -source-dir ."
Тогда В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form\Module.bsl"
И В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form\form"
И В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Templates\ОсновнаяСхемаКомпоновкиДанных.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Templates\ОсновнаяСхемаКомпоновкиДанных\Ext\Template.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяОФ\Ext\Form.bin"
И В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяУФ.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "erf\DemoОтчет\DemoОтчет\Forms\ОсновнаяУФ\Ext\Form.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form.bin"
И В каталоге "." репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяУФ.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяУФ\Ext\Form.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form\Module.bsl"
И В каталоге "." репозитория "РабочийКаталог" есть файл "epf\DemoОбработка\DemoОбработка\Forms\ОсновнаяОФ\Ext\Form\form"
И В каталоге "." репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\ConfigDumpInfo.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\Configuration.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\CommonModules\DemoРасш_Demo.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\CommonModules\DemoРасш_Demo\Ext\Module.bsl"
И В каталоге "." репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\Subsystems\DemoРасш_Demo.xml"
И В каталоге "." репозитория "РабочийКаталог" есть файл "cfe\DemoРасширение\Languages\Русский.xml"
Сценарий: Успешный коммит в репозиторий
Когда Я копирую файл "tests\fixtures\ПроверкаДублейПроцедурПоложительныйТест.bsl" в каталог репозитория "РабочийКаталог"
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os exec-rules <РабочийКаталог> -source-dir ."
Тогда Вывод команды "oscript" не содержит "обнаружены неуникальные имена методов"
Сценарий: Прекоммит вывел ошибку о неуникальных именах
Когда Я копирую файл "tests\fixtures\ПроверкаДублейПроцедурНегативныйТест.bsl" в каталог репозитория "РабочийКаталог"
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os exec-rules <РабочийКаталог> -source-dir ."
Тогда Вывод команды "oscript" содержит "обнаружены неуникальные имена методов"
Сценарий: Прекоммит использует локальные настройки репозитория вместо глобальных
Когда Я копирую каталог "localscenario" из каталога "tests\fixtures" проекта в рабочий каталог
И Я копирую файл "v8config.json" из каталога "tests\fixtures" проекта в рабочий каталог
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os exec-rules <РабочийКаталог> -source-dir ."
И Я сообщаю вывод команды "oscript"
Тогда Вывод команды "oscript" содержит "Используем локальные настройки"

View File

@ -65,7 +65,7 @@
ФайлТекущийКаталогИсходныхФайлов = Новый Файл(ТекущийКаталогИсходныхФайлов);
ТекущийКаталогИсходныхФайлов = ФайлТекущийКаталогИсходныхФайлов.ПолноеИмя;
Если НЕ ФайлТекущийКаталогИсходныхФайлов.Существует() Тогда
Лог.Ошибка("Каталога <%1> не существует", ТекущийКаталогИсходныхФайлов);
КонецЕсли;
@ -129,7 +129,9 @@
Для Каждого ФайлДляДопОбработки Из ПараметрыОбработки.ФайлыДляПостОбработки Цикл
ОбрабатываемыеФайлы.Добавить(ФайлДляДопОбработки);
ДобавляемыйФайл = ?(ТипЗнч(ФайлДляДопОбработки) = Тип("Строка"), Новый Файл(ФайлДляДопОбработки), ФайлДляДопОбработки);
ОбрабатываемыеФайлы.Добавить(ДобавляемыйФайл);
КонецЦикла;