Skip to content

Commit

Permalink
Переработана настройка исключения из проверки объектов метаданных
Browse files Browse the repository at this point in the history
Обновлен пример настроек теста
  • Loading branch information
AlexPCRus committed May 2, 2024
1 parent 411fd10 commit 4a98a6f
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 26 deletions.
11 changes: 9 additions & 2 deletions tests/smoke/smoke.example.json
Original file line number Diff line number Diff line change
Expand Up @@ -792,8 +792,15 @@
"ПроверятьОсновныеРоли": true,
"Префикс": "",
"ОтборПоПрефиксу": false,
"ПрефиксИсключения": "",
"ИсключениеПоПрефиксу": false
"ИсключенияИзПроверок":{

"Справочники":[
"Справочник1"
],
"Документы":[
"Документ1"
],
}
},

"Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,7 @@
&НаКлиенте
Перем ПрефиксОбъектов;
&НаКлиенте
Перем ИсключениеПоПрефиксу;
&НаКлиенте
Перем ПрефиксИсключенияОбъектов;
Перем ИсключенияИзПроверок;

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

Expand All @@ -41,7 +39,7 @@
Возврат;
КонецЕсли;

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

Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл
Если ОбъектМетаданных.Значение.Количество() = 0 Тогда
Expand Down Expand Up @@ -69,11 +67,11 @@
Возврат;
КонецЕсли;

ПрефиксОбъектов = "";
ОтборПоПрефиксу = Ложь;
ПрефиксИсключенияОбъектов = "";
ИсключениеПоПрефиксу = Ложь;
ПроверятьОсновныеРоли = Истина;
ПрефиксОбъектов = "";
ОтборПоПрефиксу = Ложь;
ИсключенияИзПроверок = Новый Структура;
ПроверятьОсновныеРоли = Истина;

ПлагинНастроек = КонтекстЯдра.Плагин("Настройки");
Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки);
Настройки = Объект.Настройки;
Expand All @@ -88,19 +86,15 @@
КонецЕсли;

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

Если Настройки.Свойство("ОтборПоПрефиксу") Тогда
ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу;
ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу;
КонецЕсли;

Если Настройки.Свойство("ПрефиксИсключения") Тогда
ПрефиксИсключенияОбъектов = ВРег(Настройки.ПрефиксИсключения);
КонецЕсли;

Если Настройки.Свойство("ИсключениеПоПрефиксу") Тогда
ИсключениеПоПрефиксу = Настройки.ИсключениеПоПрефиксу;
Если Настройки.Свойство("ИсключенияИзПроверок") Тогда
ИсключенияИзПроверок = Настройки.ИсключенияИзПроверок;
КонецЕсли;

КонецПроцедуры
Expand Down Expand Up @@ -144,8 +138,10 @@
#Область СлужебныеПроцедурыИФункции

&НаСервереБезКонтекста
Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов, ИсключениеПоПрефиксу, ПрефиксИсключенияОбъектов)
Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов, ИсключенияИзПроверок)

ЛокальныйКонтекстЯдра = ВнешниеОбработки.Создать("xddTestRunner");

СтроковыеУтилиты = СтроковыеУтилиты();
Пояснение = НСтр("ru = 'Проверка права интерактивного удаления помеченных'");

Expand All @@ -161,21 +157,26 @@

Для Каждого Элемент Из ОбъектыМетаданных Цикл
Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл
ПолноеИмяОбъекта = ОбъектМетаданных.ПолноеИмя();
Если ОтборПоПрефиксу И Не СтрНачинаетсяС(ВРег(ОбъектМетаданных.Имя), ВРег(ПрефиксОбъектов)) Тогда
Продолжить;
КонецЕсли;
Если ИсключениеПоПрефиксу И СтрНачинаетсяС(ВРег(ОбъектМетаданных.Имя), ВРег(ПрефиксИсключенияОбъектов)) Тогда
Продолжить;
Если ИсключенияИзПроверок.Свойство(Элемент.Ключ)
И ТипЗнч(ИсключенияИзПроверок[Элемент.Ключ]) = Тип("Массив")
И ЛокальныйКонтекстЯдра.ЕстьВИсключаемойКоллекции(ОбъектМетаданных.Имя, ИсключенияИзПроверок[Элемент.Ключ]) Тогда
Продолжить;
КонецЕсли;

ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектМетаданных.ПолноеИмя(), Пояснение);
//
ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ПолноеИмяОбъекта, Пояснение);
СтруктураЭлемента = Новый Структура;
СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста);
СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя());
СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмяОбъекта);
ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента);
КонецЦикла;
КонецЦикла;

ЛокальныйКонтекстЯдра = Неопределено;

Возврат ОбъектыМетаданных;

КонецФункции
Expand Down Expand Up @@ -220,4 +221,4 @@

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

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

0 comments on commit 4a98a6f

Please sign in to comment.