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
138 lines (85 loc) · 7.64 KB
/
ТестРедактированияКонфигурации.os
File metadata and controls
138 lines (85 loc) · 7.64 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
///////////////////////////////////////////////////////////////////////////////
//
// Тестирование основной функциональности пакета
// Проверка на соответствие выгрузки эталону
//
// (с) BIA Technologies, LLC
//
///////////////////////////////////////////////////////////////////////////////
#Использовать ".."
#Использовать logos
#Использовать asserts
#Использовать fs
///////////////////////////////////////////////////////////////////////////////
Перем Лог;
///////////////////////////////////////////////////////////////////////////////
// ПРОГРАММНЫЙ ИНТЕРФЕЙС
///////////////////////////////////////////////////////////////////////////////
Функция ПолучитьСписокТестов(Знач ЮнитТестирование) Экспорт
Лог = Логирование.ПолучитьЛог("Тест");
МассивТестов = Новый Массив;
МассивТестов.Добавить("ТестДобавитьВКонфигурациюЭлементы");
МассивТестов.Добавить("ТестИспользованияРедактораОписаний");
// МассивТестов.Добавить("ТестУдалитьИзКонфигурацииЭлементы");
// МассивТестов.Добавить("ТестИзменитьКонфигурацию");
Возврат МассивТестов;
КонецФункции
Процедура ПередЗапускомТеста() Экспорт
КонецПроцедуры
Процедура ПослеЗапускаТеста() Экспорт
КонецПроцедуры
Процедура ТестДобавитьВКонфигурациюЭлементы() Экспорт
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10");
КаталогКонфигурации = ВременныйКаталогКонфигурации(КаталогКонфигурации);
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
Для Каждого Справочник Из Конфигурация.ОписаниеКонфигурации().НайтиОбъектыПоТипу("Справочник") Цикл
ЧтениеКонфигурации.ПрочитатьОписание(Справочник);
КонецЦикла;
НовыйОбъект = РазборКонфигураций.СоздатьОбъектКонфигурации("Справочник", "ТестовыйСправочник");
Конфигурация.ДобавитьОбъект("Справочник", НовыйОбъект);
Конфигурация.Зафиксировать();
УдалитьФайлы(КаталогКонфигурации);
КонецПроцедуры
Процедура ТестИспользованияРедактораОписаний() Экспорт
// Подготовка
КаталогКонфигурации = ОбъединитьПути(КаталогФикстур(), "configurations", "Demo_8_3_10");
КаталогКонфигурации = ВременныйКаталогКонфигурации(КаталогКонфигурации);
Конфигурация = РазборКонфигураций.ЗагрузитьКонфигурацию(КаталогКонфигурации);
Редактор = Новый РедакторОписания(Конфигурация);
Файлы = Новый СписокЗначений();
// Выполнение операций редактирования
ИмяФайлаМодуля = Конфигурация.СтруктураКаталогов().ИмяФайлаМодуля("Контрагенты", "Справочник", "ObjectModule");
// Добавим модуль объекта
Объект = Конфигурация.ОписаниеКонфигурации().НайтиОбъект("Справочник.Банки");
Редактор.ДобавитьМодульОбъекта(Объект, "ObjectModule", ИмяФайлаМодуля);
ИмяПроверяемогоФайла = Конфигурация.СтруктураКаталогов().ИмяФайлаМодуля("Банки", "Справочник", "ObjectModule");
Файлы.Добавить(ИмяПроверяемогоФайла, "Не удалось добавить модуль объекта справочника");
// Добавим общий модуль
ПараметрыМодуля = РазборКонфигураций.СоздатьОбъектКонфигурации("ОбщийМодуль", "НовыйМодуль");
Редактор.ДобавитьОбщийМодуль(ПараметрыМодуля, ИмяФайлаМодуля);
ИмяПроверяемогоФайла = Конфигурация.СтруктураКаталогов().ИмяФайлаМодуля("НовыйМодуль", "ОбщийМодуль", "Module");
Файлы.Добавить(ИмяПроверяемогоФайла, "Не удалось добавить общий модуль. Нет модуля");
ИмяПроверяемогоФайла = Конфигурация.СтруктураКаталогов().ИмяФайлаОписанияОбъекта("НовыйМодуль", "ОбщийМодуль");
Файлы.Добавить(ИмяПроверяемогоФайла, "Не удалось добавить общий модуль. Нет описания");
Редактор.ДобавитьМодульКонфигурации("SuperModule", ИмяФайлаМодуля);
ИмяПроверяемогоФайла = Конфигурация.СтруктураКаталогов().ИмяФайлаМодуля("Configuration", "Configuration", "SuperModule");
Файлы.Добавить(ИмяПроверяемогоФайла, "Не удалось добавить модуль конфигурации.");
Конфигурация.Зафиксировать();
Для каждого Файл Из Файлы Цикл
Ожидаем.Что(ФС.ФайлСуществует(Файл.Значение), Файл.Представление).ЭтоИстина();
КонецЦикла;
ТекстОписаниеКонфигурации = Утилиты.ПрочитатьФайл(Конфигурация.СтруктураКаталогов().ИмяФайлаОписанияКонфигурации());
Ожидаем.Что(ТекстОписаниеКонфигурации, "Файл configuration содержит запись о новом модуле").Содержит("НовыйМодуль");
УдалитьФайлы(КаталогКонфигурации);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////////
Функция КаталогФикстур()
Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "common-fixtures");
КонецФункции
Функция ВременныйКаталогКонфигурации(КаталогИсходников)
Каталог = ПолучитьИмяВременногоФайла();
ФС.КопироватьСодержимоеКаталога(КаталогИсходников, Каталог);
Возврат Каталог;
КонецФункции