Skip to content

Commit d857eb9

Browse files
committed
Добавлена настройка включения в проверку объектов метаданных по префиксу имени
Добавлена настройка исключения из проверки объектов метаданных Исправлена ошибка падения теста если в настройках не указан параметр ОтборПоПрефиксу Обновлен пример настроек теста
1 parent 82c24e7 commit d857eb9

File tree

2 files changed

+46
-16
lines changed
  • tests/smoke
    • Тесты_ПроверкаПраваИнтерактивногоУдаления/Тесты_ПроверкаПраваИнтерактивногоУдаления/Forms/Форма/Ext/Form

2 files changed

+46
-16
lines changed

tests/smoke/smoke.example.json

+12-1
Original file line numberDiff line numberDiff line change
@@ -756,7 +756,18 @@
756756
"Тесты_ПроверкаПраваИнтерактивногоУдаления": {
757757

758758
"Используется": false,
759-
"ПроверятьОсновныеРоли": true
759+
"ПроверятьОсновныеРоли": true,
760+
"Префикс": "",
761+
"ОтборПоПрефиксу": false,
762+
"ИсключенияИзПроверок":{
763+
764+
"Справочники":[
765+
"Справочник1"
766+
],
767+
"Документы":[
768+
"Документ1"
769+
],
770+
}
760771

761772
},
762773

tests/smoke/Тесты_ПроверкаПраваИнтерактивногоУдаления/Тесты_ПроверкаПраваИнтерактивногоУдаления/Forms/Форма/Ext/Form/Module.bsl

+34-15
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
Перем ОтборПоПрефиксу;
1313
&НаКлиенте
1414
Перем ПрефиксОбъектов;
15+
&НаКлиенте
16+
Перем ИсключенияИзПроверок;
1517

1618
#КонецОбласти
1719

@@ -37,7 +39,7 @@
3739
Возврат;
3840
КонецЕсли;
3941

40-
ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов);
42+
ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов, ИсключенияИзПроверок);
4143

4244
Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл
4345
Если ОбъектМетаданных.Значение.Количество() = 0 Тогда
@@ -65,12 +67,14 @@
6567
Возврат;
6668
КонецЕсли;
6769

68-
ПрефиксОбъектов = "";
69-
ВыводитьИсключения = Ложь;
70-
ПроверятьОсновныеРоли = Истина;
71-
ПлагинНастроек = КонтекстЯдра.Плагин("Настройки");
72-
Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки);
73-
Настройки = Объект.Настройки;
70+
ПрефиксОбъектов = "";
71+
ОтборПоПрефиксу = Ложь;
72+
ИсключенияИзПроверок = Новый Структура;
73+
ПроверятьОсновныеРоли = Истина;
74+
75+
ПлагинНастроек = КонтекстЯдра.Плагин("Настройки");
76+
Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки);
77+
Настройки = Объект.Настройки;
7478

7579
Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда
7680
Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено);
@@ -82,11 +86,15 @@
8286
КонецЕсли;
8387

8488
Если Настройки.Свойство("Префикс") Тогда
85-
ПрефиксОбъектов = ВРег(Настройки.Префикс);
89+
ПрефиксОбъектов = ВРег(Настройки.Префикс);
8690
КонецЕсли;
8791

8892
Если Настройки.Свойство("ОтборПоПрефиксу") Тогда
89-
ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу;
93+
ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу;
94+
КонецЕсли;
95+
96+
Если Настройки.Свойство("ИсключенияИзПроверок") Тогда
97+
ИсключенияИзПроверок = Настройки.ИсключенияИзПроверок;
9098
КонецЕсли;
9199

92100
КонецПроцедуры
@@ -99,8 +107,9 @@
99107
Процедура ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных) Экспорт
100108

101109
Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ПроверятьОсновныеРоли);
102-
Утверждения.Проверить(Результат = "", "Есть право на интерактивное удаление объектов:" + Результат);
103-
110+
ШаблонСообщения = НСтр("ru = 'Есть право на интерактивное удаление объектов:%1'");
111+
Утверждения.Проверить(Результат = "", СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат));
112+
104113
КонецПроцедуры
105114

106115
&НаСервереБезКонтекста
@@ -129,7 +138,9 @@
129138
#Область СлужебныеПроцедурыИФункции
130139

131140
&НаСервереБезКонтекста
132-
Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов)
141+
Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов, ИсключенияИзПроверок)
142+
143+
ЛокальныйКонтекстЯдра = ВнешниеОбработки.Создать("xddTestRunner");
133144

134145
СтроковыеУтилиты = СтроковыеУтилиты();
135146
Пояснение = НСтр("ru = 'Проверка права интерактивного удаления'");
@@ -146,18 +157,26 @@
146157

147158
Для Каждого Элемент Из ОбъектыМетаданных Цикл
148159
Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл
160+
ПолноеИмяОбъекта = ОбъектМетаданных.ПолноеИмя();
149161
Если ОтборПоПрефиксу И Не СтрНачинаетсяС(ВРег(ОбъектМетаданных.Имя), ВРег(ПрефиксОбъектов)) Тогда
150162
Продолжить;
151163
КонецЕсли;
152-
153-
ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектМетаданных.ПолноеИмя(), Пояснение);
164+
Если ИсключенияИзПроверок.Свойство(Элемент.Ключ)
165+
И ТипЗнч(ИсключенияИзПроверок[Элемент.Ключ]) = Тип("Массив")
166+
И ЛокальныйКонтекстЯдра.ЕстьВИсключаемойКоллекции(ОбъектМетаданных.Имя, ИсключенияИзПроверок[Элемент.Ключ]) Тогда
167+
Продолжить;
168+
КонецЕсли;
169+
//
170+
ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ПолноеИмяОбъекта, Пояснение);
154171
СтруктураЭлемента = Новый Структура;
155172
СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста);
156-
СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя());
173+
СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмяОбъекта);
157174
ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента);
158175
КонецЦикла;
159176
КонецЦикла;
160177

178+
ЛокальныйКонтекстЯдра = Неопределено;
179+
161180
Возврат ОбъектыМетаданных;
162181

163182
КонецФункции

0 commit comments

Comments
 (0)