Skip to content

Commit 21d04f7

Browse files
committed
Тесты в стиле BDD
1 parent f02c7b7 commit 21d04f7

File tree

2 files changed

+342
-0
lines changed

2 files changed

+342
-0
lines changed

features/gitsync-sync.feature

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# language: ru
2+
3+
Функционал: Инициализация каталога исходников конфигурации
4+
Как Пользователь
5+
Я хочу выполнять автоматическую синхронизацию конфигурации из хранилища
6+
Чтобы автоматизировать свою работы с хранилищем с git
7+
8+
Контекст: Тестовый контекст
9+
Когда Я очищаю параметры команды "gitsync" в контексте
10+
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
11+
И Я добавляю параметр "sync" для команды "gitsync"
12+
И Я создаю временный каталог и сохраняю его в контекст
13+
И я скопировал каталог тестового хранилища конфигурации во временный каталог
14+
И Я сохраняю значение временного каталога в переменной "КаталогХранилища1С"
15+
И Я создаю временный каталог и сохраняю его в контекст
16+
И Я сохраняю значение временного каталога в переменной "ПутьКаталогаИсходников"
17+
И Я создаю тестовой файл AUTHORS
18+
И Я записываю "0" в файл VERSION
19+
И Я создаю временный каталог и сохраняю его в контекст
20+
И Я инициализирую bare репозиторий во временном каталоге
21+
И Я сохраняю значение временного каталога в переменной "URLРепозитория"
22+
И я инициализирую связь "ПутьКаталогаИсходников" с внешним репозиторием "URLРепозитория"
23+
И я включаю отладку лога с именем "oscript.app.gitsync"
24+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
25+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "URLРепозитория"
26+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
27+
28+
Сценарий: Простая синхронизация хранилища с git-репозиторием
29+
Допустим Я создаю временный каталог и сохраняю его в контекст
30+
И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория"
31+
И Я добавляю параметр "-tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
32+
Когда Я выполняю команду "gitsync"
33+
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
34+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
35+
И Код возврата команды "gitsync" равен 0
36+
37+
Сценарий: Синхронизация хранилища с git-репозиторием без tool1CD
38+
Допустим Я добавляю параметр "-dontUseTool1cd" для команды "gitsync"
39+
И Я создаю временный каталог и сохраняю его в контекст
40+
И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор"
41+
Когда Я выполняю команду "gitsync"
42+
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
43+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
44+
И Код возврата команды "gitsync" равен 0
45+
46+
Сценарий: Синхронизация хранилища с git-репозиторием с дополнительными параметрами без tool1CD
47+
Допустим Я добавляю параметр "-dontUseTool1cd" для команды "gitsync"
48+
И Я создаю временный каталог и сохраняю его в контекст
49+
И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория"
50+
И Я добавляю параметр "-tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
51+
И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор"
52+
И Я добавляю параметр "-push-every-n-commits" для команды "gitsync" со значением "5"
53+
И Я добавляю параметр "-dontUseTool1cd" для команды "gitsync"
54+
И Я добавляю параметр "-process-fatform-modules" для команды "gitsync"
55+
И Я добавляю параметр "-check-authors" для команды "gitsync"
56+
И Я добавляю параметр "-auto-set-tags" для команды "gitsync"
57+
Когда Я выполняю команду "gitsync"
58+
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
59+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
60+
И Код возврата команды "gitsync" равен 0
61+
62+
Сценарий: Синхронизация хранилища с git-репозиторием с выгрузкой только изменений
63+
Допустим Я создаю временный каталог и сохраняю его в контекст
64+
И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория"
65+
И Я добавляю параметр "-increment" для команды "gitsync"
66+
Когда Я выполняю команду "gitsync"
67+
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
68+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
69+
И Код возврата команды "gitsync" равен 0
70+
71+
Сценарий: Синхронизация хранилища с git-репозиторием с выгрузкой только изменений без tool1CD
72+
Допустим Я добавляю параметр "-increment" для команды "gitsync"
73+
И Я добавляю параметр "-dontUseTool1cd" для команды "gitsync"
74+
И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор"
75+
Когда Я выполняю команду "gitsync"
76+
Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена"
77+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
78+
И Код возврата команды "gitsync" равен 0
79+
80+
81+
Сценарий: Синхронизация хранилища с git-репозиторием с проверкой заполненности комментария
82+
Допустим Я добавляю параметр "-stop-if-empty-comment" для команды "gitsync"
83+
Когда Я выполняю команду "gitsync"
84+
Тогда Вывод команды "gitsync" содержит "КРИТИЧНАЯОШИБКА - Нашли следующую версию <4> от автора <Администратор>, а комментарий не задан!"
85+
И Код возврата команды "gitsync" равен 1
86+
87+
Сценарий: Синхронизация хранилища с git-репозиторием с проверкой авторов версий в хранилище
88+
Допустим Я добавляю параметр "-check-authors" для команды "gitsync"
89+
И Я создаю неполный тестовой файл AUTHORS
90+
И Я инициализирую связь "ПутьКаталогаИсходников" с внешним репозиторием "URLРепозитория"
91+
Когда Я выполняю команду "gitsync"
92+
Тогда Вывод команды "gitsync" содержит "КРИТИЧНАЯОШИБКА - Пользователю хранилища <Администратор> не сопоставлен пользователь git."
93+
И Код возврата команды "gitsync" равен 1

0 commit comments

Comments
 (0)