1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-02-10 19:41:26 +02:00

Рефакторинг + загрузка из markdown

This commit is contained in:
alkoleft 2023-08-23 13:59:24 +03:00
parent 71d0a2d5bd
commit 371a281582
5 changed files with 113 additions and 61 deletions

View File

@ -507,7 +507,7 @@
// Возвращает таблицу значений из табличного документа
// Параметры:
// ТабличныйДокумент - ТабличныйДокумент - Исходный табличный документ
// Макет - ТабличныйДокумент - Исходный табличный документ
// ОписанияТипов - Соответствие из Строка - Соответствие имен колонок таблицы к типам значений
// КэшЗначений - Соответствие из Произвольный - Соответствие для хранения создаваемых значений
// ЗаменяемыеЗначения - Соответствие из Строка - Значения, использующиеся для замены
@ -515,12 +515,12 @@
// * ФикцияОбязательныхПолей - Булево - По умолчанию - Ложь
// * ОбменДаннымиЗагрузка - Булево - По умолчанию - Истина
// Возвращаемое значение:
// см. ЮТТестовыеДанные_ТаблицыЗначений.ТипизированнаяТаблицаЗначений
Функция ТипизированныеДанныеТабличногоДокумента(ТабличныйДокумент,
ОписанияТипов,
КэшЗначений = Неопределено,
ЗаменяемыеЗначения = Неопределено,
ПараметрыСозданияОбъектов = Неопределено) Экспорт
// см. ЮТТестовыеДанные_ТаблицыЗначений.ЗагрузитьИзМакета
Функция ЗагрузитьИзМакета(Макет,
ОписанияТипов,
КэшЗначений = Неопределено,
ЗаменяемыеЗначения = Неопределено,
ПараметрыСозданияОбъектов = Неопределено) Экспорт
#Если Сервер Тогда
ТаблицаЗначений = Истина;
@ -528,12 +528,12 @@
ТаблицаЗначений = Ложь;
#КонецЕсли
Возврат ЮТТестовыеДанныеСлужебный.ТипизированныеДанныеТабличногоДокумента(ТабличныйДокумент,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,
ПараметрыСозданияОбъектов,
ТаблицаЗначений);
Возврат ЮТТестовыеДанныеСлужебный.ЗагрузитьИзМакета(Макет,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,
ПараметрыСозданияОбъектов,
ТаблицаЗначений);
КонецФункции

View File

@ -18,21 +18,41 @@
#Область СлужебныйПрограммныйИнтерфейс
Функция ТипизированныеДанныеТабличногоДокумента(ТабличныйДокумент, ОписанияТипов, КэшЗначений, ЗаменяемыеЗначения, ПараметрыЗаполнения) Экспорт
Функция ЗагрузитьИзМакета(Макет, ОписанияТипов, КэшЗначений, ЗаменяемыеЗначения, ПараметрыЗаполнения) Экспорт
ТабличныйДокумент = ТабличныйДокумент(ТабличныйДокумент);
ДанныеМакета = ДанныеМакета(Макет);
ТипДанныхМакета = ТипЗнч(ДанныеМакета);
Колонки = ОписаниеКолонок(ТабличныйДокумент, ОписанияТипов);
Если ТипДанныхМакета = Тип("ТабличныйДокумент") Тогда
Результат = ЗагрузитьДанныеИзТабличногоДокумента(ДанныеМакета, ОписанияТипов, ЗаменяемыеЗначения, КэшЗначений, ПараметрыЗаполнения);
ИначеЕсли ТипДанныхМакета = Тип("ТекстовыйДокумент") Тогда
Результат = ЗагрузитьДанныеИзТекстовогоДокумента(ДанныеМакета, ОписанияТипов, ЗаменяемыеЗначения, КэшЗначений, ПараметрыЗаполнения);
ИначеЕсли ТипДанныхМакета = Тип("Строка") Тогда
Результат = ЗагрузитьДанныеИзСтроки(ДанныеМакета, ОписанияТипов, ЗаменяемыеЗначения, КэшЗначений, ПараметрыЗаполнения);
Иначе
ВызватьИсключение "Макет должен быть либо табличным, либо текстовым документом";
КонецЕсли;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ЗагрузитьДанныеИзТекстовогоДокумента(ДанныеМакета, ОписанияТипов, ЗаменяемыеЗначения, КэшЗначений, ПараметрыЗаполнения)
Колонки = ОписаниеКолонок(ДанныеМакета, ОписанияТипов);
ПодготовитьПараметрыЗаполненияТаблицы(КэшЗначений, ЗаменяемыеЗначения, ПараметрыЗаполнения, Колонки);
ПараметрыСоздания = ПараметрыЗаполнения.СозданиеОбъектовМетаданных;
ТаблицаЗначений = Новый ТаблицаЗначений();
Для Каждого ОписаниеКолонки Из Колонки Цикл
ТаблицаЗначений.Колонки.Добавить(ОписаниеКолонки.Имя, ОписаниеКолонки.ОписаниеТипа);
КонецЦикла;
ПодготовитьПараметрыЗаполненияТаблицы(КэшЗначений, ЗаменяемыеЗначения, ПараметрыЗаполнения, Колонки);
ПараметрыСоздания = ПараметрыЗаполнения.СозданиеОбъектовМетаданных;
Выборка = ВыборкаИзТабличногоДокумента(ТабличныйДокумент);
Выборка = ВыборкаИзТабличногоДокумента(ДанныеМакета);
Пока Выборка.Следующий() Цикл
@ -57,9 +77,41 @@
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ЗагрузитьДанныеИзТабличногоДокумента(ДанныеМакета, ОписанияТипов, ЗаменяемыеЗначения, КэшЗначений, ПараметрыЗаполнения)
Колонки = ОписаниеКолонок(ДанныеМакета, ОписанияТипов);
ПодготовитьПараметрыЗаполненияТаблицы(КэшЗначений, ЗаменяемыеЗначения, ПараметрыЗаполнения, Колонки);
ПараметрыСоздания = ПараметрыЗаполнения.СозданиеОбъектовМетаданных;
ТаблицаЗначений = Новый ТаблицаЗначений();
Для Каждого ОписаниеКолонки Из Колонки Цикл
ТаблицаЗначений.Колонки.Добавить(ОписаниеКолонки.Имя, ОписаниеКолонки.ОписаниеТипа);
КонецЦикла;
Выборка = ВыборкаИзТабличногоДокумента(ДанныеМакета);
Пока Выборка.Следующий() Цикл
Строка = ТаблицаЗначений.Добавить();
Для Каждого ОписаниеКолонки Из Колонки Цикл
ЗначениеПредставления = Выборка[ОписаниеКолонки.Индекс];
Если ПустаяСтрока(ЗначениеПредставления) Тогда
Продолжить;
КонецЕсли;
Значение = ЗначениеЯчейки(Выборка, ЗначениеПредставления, ОписаниеКолонки, ЗаменяемыеЗначения, КэшЗначений, ПараметрыСоздания);
Строка[ОписаниеКолонки.Имя] = Значение;
КонецЦикла;
КонецЦикла;
Возврат ТаблицаЗначений;
КонецФункции
Функция ВыборкаИзТабличногоДокумента(ТабличныйДокумент)
@ -77,18 +129,23 @@
КонецФункции
Функция ТабличныйДокумент(Знач ТабличныйДокумент)
Функция ДанныеМакета(Знач Макет)
ТипПараметра = ТипЗнч(ТабличныйДокумент);
ТипПараметра = ТипЗнч(Макет);
ДанныеМакета = Неопределено;
Если ТипПараметра = Тип("ТабличныйДокумент") Тогда
Возврат ТабличныйДокумент;
ДанныеМакета = Макет;
ИначеЕсли ТипПараметра = Тип("Строка") И СтрНачинаетсяС(Макет, "|") Тогда
ДанныеМакета = Макет;
ИначеЕсли ТипПараметра = Тип("Строка") Тогда
Возврат ЮТОбщийВызовСервера.Макет(ТабличныйДокумент);
ДанныеМакета = ЮТОбщийВызовСервера.Макет(Макет);
Иначе
ВызватьИсключение ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТТестовыеДанныеВызовСервера.ТабличныйДокумент", ТабличныйДокумент);
ВызватьИсключение ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТТестовыеДанныеВызовСервера.ТабличныйДокумент", Макет);
КонецЕсли;
Возврат ДанныеМакета;
КонецФункции
Функция ОписаниеКолонок(ТабличныйДокумент, ОписанияТипов)

View File

@ -170,18 +170,18 @@
КонецФункции
Функция ТипизированныеДанныеТабличногоДокумента(Знач ТабличныйДокумент,
Знач ОписанияТипов,
Знач КэшЗначений,
Знач ЗаменяемыеЗначения,
Знач ПараметрыЗаполнения,
Знач ТаблицаЗначений) Экспорт
Функция ЗагрузитьИзМакета(Знач Макет,
Знач ОписанияТипов,
Знач КэшЗначений,
Знач ЗаменяемыеЗначения,
Знач ПараметрыЗаполнения,
Знач ТаблицаЗначений) Экспорт
Таблица = ЮТТестовыеДанные_ТаблицыЗначений.ТипизированныеДанныеТабличногоДокумента(ТабличныйДокумент,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,
ПараметрыЗаполнения);
Таблица = ЮТТестовыеДанные_ТаблицыЗначений.ЗагрузитьИзМакета(Макет,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,
ПараметрыЗаполнения);
Если ТаблицаЗначений Тогда
Возврат Таблица;

View File

@ -150,22 +150,17 @@
#КонецОбласти
Функция ТипизированныеДанныеТабличногоДокумента(ТабличныйДокумент,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,
ПараметрыСозданияОбъектов,
ТаблицаЗначений) Экспорт
Функция ЗагрузитьИзМакета(Макет, ОписанияТипов, КэшЗначений, ЗаменяемыеЗначения, ПараметрыСозданияОбъектов, ТаблицаЗначений) Экспорт
ПараметрыЗаполнения = ЮТФабрика.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов);
Возврат ЮТТестовыеДанныеВызовСервера.ТипизированныеДанныеТабличногоДокумента(ТабличныйДокумент,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,
ПараметрыЗаполнения,
ТаблицаЗначений);
Возврат ЮТТестовыеДанныеВызовСервера.ЗагрузитьИзМакета(Макет,
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения,
ПараметрыЗаполнения,
ТаблицаЗначений);
КонецФункции
#КонецОбласти

View File

@ -23,11 +23,11 @@
ЮТТесты
.ВТранзакции()
.УдалениеТестовыхДанных()
// .ДобавитьТест("Удалить")
// .ДобавитьТест("ВариантыПараметров")
// .ДобавитьТест("СоздатьГруппу")
.ДобавитьТест("ТаблицаЗначенийИзТабличногоДокумента")
// .ДобавитьСерверныйТест("ТаблицаЗначенийИзТаблицыMarkDown")
.ДобавитьТест("Удалить")
.ДобавитьТест("ВариантыПараметров")
.ДобавитьТест("СоздатьГруппу")
.ДобавитьТест("ЗагрузитьИзМакета")
.ДобавитьСерверныйТест("ТаблицаЗначенийИзТаблицыMarkDown")
.ДобавитьТест("СлучайныйИдентификатор")
;
@ -107,7 +107,7 @@
КонецПроцедуры
Процедура ТаблицаЗначенийИзТабличногоДокумента() Экспорт
Процедура ЗагрузитьИзМакета() Экспорт
// Подготовка тестового окружения
@ -124,7 +124,7 @@
ЗаменяемыеЗначения = Новый Соответствие;
ЗаменяемыеЗначения.Вставить("Поставщик 1", Поставщик);
ТаблицаРезультатов = ЮТест.Данные().ТипизированныеДанныеТабличногоДокумента("ОбщийМакет.ЮТ_МакетТестовыхДанных.R2C1:R5C11",
ТаблицаРезультатов = ЮТест.Данные().ЗагрузитьИзМакета("ОбщийМакет.ЮТ_МакетТестовыхДанных.R2C1:R5C11",
ОписанияТипов,
КэшЗначений,
ЗаменяемыеЗначения
@ -189,7 +189,7 @@
|| Товар 2 | 2 000 | 1 | 2000 |
|| Услуга | 300,9 | 1 | 300,9 |
|";
ОписанияТипов = Новый Соответствие;
ОписанияТипов.Вставить("Товар", Новый ОписаниеТипов("СправочникСсылка.Товары"));
ОписанияТипов.Вставить("Цена", Новый ОписаниеТипов("Число"));
@ -198,7 +198,7 @@
// Вызов тестируемого сценария
ТаблицаРезультатов = ЮТест.Данные().ТаблицаЗначенийИзТаблицыMarkDown(
ТаблицаРезультатов = ЮТест.Данные().ЗагрузитьИзМакета(
ИсходныеДанные,
ОписанияТипов
);