1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-03-17 20:48:01 +02:00

Реализован проброс реквизитов заполнения фикции

This commit is contained in:
alkoleft 2023-05-18 01:38:05 +03:00
parent 8eb095a10c
commit ffe3f6e4c7
4 changed files with 42 additions and 7 deletions

View File

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

View File

@ -179,7 +179,7 @@
КонецПроцедуры
Функция ФикцияЗначенияБазы(Знач ТипЗначения) Экспорт
Функция ФикцияЗначенияБазы(Знач ТипЗначения, Знач РеквизитыЗаполнения = Неопределено) Экспорт
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);
@ -203,6 +203,10 @@
Объект = СоздатьОбъект(Менеджер, ОписаниеТипа);
Если ЗначениеЗаполнено(РеквизитыЗаполнения) Тогда
ЗаполнитьЗначенияСвойств(Объект, РеквизитыЗаполнения);
КонецЕсли;
ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных);
Возврат ЗаписатьОбъект(Объект);

View File

@ -22,10 +22,12 @@
//
// Параметры:
// ОписаниеТипа - ОписаниеТипов
// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
// - Неопределено
//
// Возвращаемое значение:
// Произвольный
Функция Фикция(ОписаниеТипа) Экспорт
Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт
Если ОписаниеТипа.Типы().Количество() > 1 Тогда
НомерТипа = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(ОписаниеТипа.Типы().Количество());
@ -69,7 +71,7 @@
Иначе
Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип);
Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения);
ДобавитьТестовуюЗапись(Значение);
КонецЕсли;

View File

@ -23,6 +23,7 @@
ЮТТесты.ВТранзакции().УдалениеТестовыхДанных()
.ДобавитьТест("ЗаполнитьСправочник")
.ДобавитьТест("ЗаполнитьДокумент")
.ДобавитьТест("Фикция")
.ДобавитьТест("ФикцияОбязательныхПолей")
;
@ -110,6 +111,34 @@
КонецПроцедуры
Процедура Фикция() Экспорт
Поставщик = Ютест.Данные().СоздатьЭлемент("Справочники.Контрагенты");
Данные = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара")
.Установить("Поставщик", Поставщик)
.Фикция("Дата")
.Фикция("Номер")
.Фикция("Склад")
.Фикция("Валюта")
.ТабличнаяЧасть("Товары")
.ДобавитьСтроку()
.Фикция("Товар", Новый Структура("Поставщик", Поставщик))
.Фикция("Цена")
.ДанныеОбъекта();
ЮТест.ОжидаетЧто(Данные)
.Свойство("Дата").Заполнено()
.Свойство("Номер").Заполнено()
.Свойство("Склад").Заполнено()
.Свойство("Валюта").Заполнено()
.Свойство("Товары[0].Товар").Заполнено();
ПоставщикТовара = ЮТЗапросы.ЗначениеРеквизита(Данные.Товары[0].Товар, "Поставщик");
ЮТест.ОжидаетЧто(ПоставщикТовара).Равно(Поставщик);
КонецПроцедуры
Процедура ФикцияОбязательныхПолей() Экспорт
Данные = ЮТест.Данные().КонструкторОбъекта("Справочники.Контрагенты")