forked from bia-technologies/bsl-parser
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathТестСозданияРасширения.os
More file actions
172 lines (104 loc) · 9.88 KB
/
ТестСозданияРасширения.os
File metadata and controls
172 lines (104 loc) · 9.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
///////////////////////////////////////////////////////////////////////////////
//
// Тестирование основной функциональности пакета
// Проверка на соответствие выгрузки эталону
//
// (с) BIA Technologies, LLC
//
///////////////////////////////////////////////////////////////////////////////
#Использовать ".."
#Использовать logos
#Использовать asserts
#Использовать fs
///////////////////////////////////////////////////////////////////////////////
Перем Лог;
///////////////////////////////////////////////////////////////////////////////
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
///////////////////////////////////////////////////////////////////////////////
Функция ПолучитьСписокТестов(Знач ЮнитТестирование) Экспорт
Лог = Логирование.ПолучитьЛог("Тест");
МассивТестов = Новый Массив;
МассивТестов.Добавить("ТестСоздатьПростоеРасширениеВИерархическомФорматеКонфигуратора");
МассивТестов.Добавить("ТестСоздатьПростоеРасширениеВФорматеEDT");
Возврат МассивТестов;
КонецФункции
Процедура ПередЗапускомТеста() Экспорт
КонецПроцедуры
Процедура ПослеЗапускаТеста() Экспорт
КонецПроцедуры
Процедура ТестСоздатьПростоеРасширениеВИерархическомФорматеКонфигуратора() Экспорт
КаталогРасширения = ОбъединитьПути("ignore", "extension", "designer");
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10");
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
Расширение = РазборКонфигураций.СоздатьНовоеРасширение(КаталогРасширения, ФорматыВыгрузки.Конфигуратор_8_3_10);
СвойстваРасширения = Расширение.ОписаниеКонфигурации().СвойстваКонфигурации;
СвойстваРасширения.Наименование = "Simple";
СвойстваРасширения.Синоним = "Простое расширение";
СвойстваРасширения.ПрефиксИмен = "smpl_";
Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
Если Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() ИЛИ Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации() Тогда
Продолжить;
КонецЕсли;
Конфигурация.ПрочитатьОписаниеОбъекта(Объект);
Расширение.ДобавитьОбъектВРасширение(Объект);
КонецЦикла;
Расширение.Зафиксировать();
КонецПроцедуры
Процедура ТестСоздатьПростоеРасширениеВИерархическомФорматеEDT() Экспорт
КаталогРасширения = ОбъединитьПути("ignore", "extension", "edt");
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10");
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
Расширение = РазборКонфигураций.СоздатьНовоеРасширение(КаталогРасширения, ФорматыВыгрузки.EDT);
СвойстваРасширения = Расширение.ОписаниеКонфигурации().СвойстваКонфигурации;
СвойстваРасширения.Наименование = "Simple";
СвойстваРасширения.Синоним = "Простое расширение";
СвойстваРасширения.ПрефиксИмен = "smpl_";
Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
Если Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаПодсистема() ИЛИ Объект.Тип = ТипыОбъектовКонфигурации.ИмяТипаКонфигурации() Тогда
Продолжить;
КонецЕсли;
Конфигурация.ПрочитатьОписаниеОбъекта(Объект);
Расширение.ДобавитьОбъектВРасширение(Объект);
КонецЦикла;
Расширение.Зафиксировать();
КонецПроцедуры
Процедура ТестВключенияВсехМодулейВРасширениеКонфигуратор() Экспорт
КаталогРасширения = ОбъединитьПути("ignore", "extension", "designer");
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10");
Расширение = РазборКонфигураций.СоздатьНовоеРасширение(КаталогРасширения, ФорматыВыгрузки.Конфигуратор_8_3_10);
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
СоздатьПростоеРасширение(Конфигурация, Расширение);
КонецПроцедуры
Процедура ТестСоздатьПростоеРасширениеВФорматеEDT() Экспорт
КаталогРасширения = ОбъединитьПути("ignore", "extension", "edt");
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "edtconfigurations", "Demo_8_3_10", "src");
Расширение = РазборКонфигураций.СоздатьНовоеРасширение(КаталогРасширения, ФорматыВыгрузки.EDT);
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
СоздатьПростоеРасширение(Конфигурация, Расширение);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////////
Процедура ПроверитьРезультатЧтенияВыгрузки(Парсер, КоличествоОбъектов, КоличествоМодулей)
Ожидаем.Что(Парсер.ОписаниеКонфигурации().ОбъектыКонфигурации.Количество(), "Количество найденных объектов не соответствует фактическому").Равно(КоличествоОбъектов);
Ожидаем.Что(Парсер.ОписаниеКонфигурации().МодулиКонфигурации.Количество(), "Количество найденных модулей не соответствует фактическому").Равно(КоличествоМодулей);
Для Каждого Объект Из Парсер.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
Ожидаем.Что(ФС.ФайлСуществует(Объект.ПутьКФайлу), СтрШаблон("Не существует файл [%2] описания объекта ""%1""", Парсер.ПолноеИмяОбъекта(Объект), Объект.ПутьКФайлу)).ЭтоИстина();
КонецЦикла;
Для Каждого Объект Из Парсер.ОписаниеКонфигурации().МодулиКонфигурации Цикл
Ожидаем.Что(ФС.ФайлСуществует(Объект.ПутьКФайлу), СтрШаблон("Не существует файл [%2] модуля объекта ""%1""", Парсер.ПолноеИмяОбъекта(Объект), Объект.ПутьКФайлу)).ЭтоИстина();
КонецЦикла;
КонецПроцедуры
Процедура СоздатьПростоеРасширение(Конфигурация, Расширение)
СвойстваРасширения = Расширение.ОписаниеКонфигурации().СвойстваКонфигурации;
СвойстваРасширения.Наименование = "Simple";
СвойстваРасширения.Синоним = "Простое расширение";
СвойстваРасширения.ПрефиксИмен = "smpl_";
Для Каждого Объект Из Конфигурация.ОписаниеКонфигурации().ОбъектыКонфигурации Цикл
Расширение.ДобавитьОбъектВРасширение(Объект);
КонецЦикла;
Расширение.Зафиксировать();
КонецПроцедуры
Функция КаталогФикстур()
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "common-fixtures");
КонецФункции