Skip to content

Commit

Permalink
first part of tests (#157)
Browse files Browse the repository at this point in the history
* Добавлены юнит-тесты для подсистемы предопределенных значений
  • Loading branch information
denisushakov authored Dec 16, 2024
1 parent 1f7bb7c commit ba582d0
Show file tree
Hide file tree
Showing 11 changed files with 439 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<CommonModule uuid="72ba480f-6821-47a5-bc00-b831bdee3765">
<Properties>
<Name>ОМ_ПредопределенныеЗначения</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Предопределенные значения</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
#Область СлужебныйПрограммныйИнтерфейс

Процедура ИсполняемыеСценарии() Экспорт

ЮТТесты
.ДобавитьТестовыйНабор("Ключи хеша предопределенного элемента")
.ДобавитьТест("Тест_КлючиХеша_ФормированиеКлючейЭлемент")
.ДобавитьТест("Тест_КлючиХеша_ФормированиеКлючейГруппа")
.ДобавитьТест("Тест_КлючиХеша_ПустойМассив")
;

КонецПроцедуры

Процедура Тест_КлючиХеша_ФормированиеКлючейЭлемент() Экспорт

Поля = Новый Массив;
Поля.Добавить("Поле1");
Поля.Добавить("Поле2");
Поля.Добавить("Служебный_Поле3");
Поля.Добавить("Поле4");

ИсключаемыеПоля = Новый Структура;
ИсключаемыеПоля.Вставить("Поле2", Истина);

Мокито.Обучение(пбп_ПредопределенныеЗначенияПереопределяемый)
.Когда("ИсключаемыеПоляДляРасчетаХешаЭлемент")
.Вернуть(ИсключаемыеПоля)
.Прогон();

Ожидаемое = Новый Структура("Поле1,Поле4");

Результат = пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(Поля, Ложь);

ЮТест.ОжидаетЧто(Результат).Равно(Ожидаемое);

КонецПроцедуры

Процедура Тест_КлючиХеша_ФормированиеКлючейГруппа() Экспорт

Поля = Новый Массив;
Поля.Добавить("Поле1");
Поля.Добавить("Поле2");

ИсключаемыеПоля = Новый Структура;
ИсключаемыеПоля.Вставить("Поле1", Истина);

Мокито.Обучение(пбп_ПредопределенныеЗначенияПереопределяемый)
.Когда("ИсключаемыеПоляДляРасчетаХешаГруппа")
.Вернуть(ИсключаемыеПоля)
.Прогон()
;

Ожидаемое = Новый Структура("Поле2");

Результат = пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(Поля, Истина);

ЮТест.ОжидаетЧто(Результат).Равно(Ожидаемое);

КонецПроцедуры

Процедура Тест_КлючиХеша_ПустойМассив() Экспорт

Поля = Новый Массив;

ИсключаемыеПоля = Новый Структура;

Мокито.Обучение(пбп_ПредопределенныеЗначенияПереопределяемый)
.Когда("ИсключаемыеПоляДляРасчетаХешаЭлемент")
.Вернуть(ИсключаемыеПоля)
.Прогон();

Ожидаемое = Новый Структура;

Результат = пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(Поля);

ЮТест.ОжидаетЧто(Результат).Равно(Ожидаемое);

КонецПроцедуры

#КонецОбласти
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<CommonModule uuid="4874774e-fc49-4238-b314-4c8bd60742b4">
<Properties>
<Name>ОМ_ПредопределенныеЗначенияВызовСервера</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Предопределенные значения вызов сервера</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>true</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#Область СлужебныйПрограммныйИнтерфейс

Процедура ИсполняемыеСценарии() Экспорт

ЮТТесты
.ДобавитьТестовыйНабор("Инициализировать предопределенные элементы")
.ДобавитьТест("Тест_ИнициализироватьПредопределенныеЭлементы_ПустаяТаблица")
.СПараметрами("Справочник.пбп_ИнтеграционныеПотоки")
.СПараметрами("Справочник.пбп_НастройкиОтбораОбъектов")
.СПараметрами("ПланВидовХарактеристик.пбп_ПредопределенныеЗначения")
.ДобавитьТест("Тест_ИнициализироватьПредопределенныеЭлементы_ЕстьКонфликты")
.СПараметрами("Справочник.пбп_ИнтеграционныеПотоки")
;

КонецПроцедуры

Процедура Тест_ИнициализироватьПредопределенныеЭлементы_ПустаяТаблица(ИмяОбъекта) Экспорт

ТаблицаКонфликтов = Новый ТаблицаЗначений;

Мокито.Обучение(пбп_ПредопределенныеЗначения)
.Когда("ИнициализироватьПредопределенныеЗначения")
.Вернуть(ТаблицаКонфликтов)
.Прогон()
;

ОжидаемаяСтруктура = Новый Структура;
ОжидаемаяСтруктура.Вставить("АдресТаблицы", "");
ОжидаемаяСтруктура.Вставить("ЕстьСтроки", Ложь);

Ожидаемое = Новый ФиксированнаяСтруктура(ОжидаемаяСтруктура);

Результат = пбп_ПредопределенныеЗначенияВызовСервера.ИнициализироватьПредопределенныеЗначения(ИмяОбъекта);

ЮТест.ОжидаетЧто(ТипЗнч(Результат)).Равно(Тип("ФиксированнаяСтруктура"));

ЮТест.ОжидаетЧто(Результат)
.Свойство("АдресТаблицы").НеЗаполнено()
.Свойство("ЕстьСтроки").ЭтоЛожь()
;

КонецПроцедуры

Процедура Тест_ИнициализироватьПредопределенныеЭлементы_ЕстьКонфликты(ИмяОбъекта) Экспорт

ТаблицаКонфликтов = Новый ТаблицаЗначений;
ТаблицаКонфликтов.Добавить();

Мокито.Обучение(пбп_ПредопределенныеЗначения)
.Когда("ИнициализироватьПредопределенныеЗначения")
.Вернуть(ТаблицаКонфликтов)
.Прогон()
;

ОжидаемаяСтруктура = Новый Структура;
ОжидаемаяСтруктура.Вставить("АдресТаблицы", "АдресВременногоХранилища");
ОжидаемаяСтруктура.Вставить("ЕстьСтроки", Истина);

Ожидаемое = Новый ФиксированнаяСтруктура(ОжидаемаяСтруктура);

Результат = пбп_ПредопределенныеЗначенияВызовСервера.ИнициализироватьПредопределенныеЗначения(ИмяОбъекта);

ЮТест.ОжидаетЧто(ТипЗнч(Результат)).Равно(Тип("ФиксированнаяСтруктура"));

ЮТест.ОжидаетЧто(Результат)
.Свойство("АдресТаблицы").Заполнено()
.Свойство("ЕстьСтроки").ЭтоИстина()
;

КонецПроцедуры

#КонецОбласти
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16">
<CommonModule uuid="6e1b1014-5795-4ba6-82c4-4ee90e59c939">
<Properties>
<Name>ОМ_ПредопределенныеЗначенияСлужебный</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Предопределенные значения служебный</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>
<ClientManagedApplication>false</ClientManagedApplication>
<Server>true</Server>
<ExternalConnection>false</ExternalConnection>
<ClientOrdinaryApplication>false</ClientOrdinaryApplication>
<ServerCall>false</ServerCall>
<Privileged>false</Privileged>
<ReturnValuesReuse>DontUse</ReturnValuesReuse>
</Properties>
</CommonModule>
</MetaDataObject>
Loading

0 comments on commit ba582d0

Please sign in to comment.