mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-01-20 18:48:36 +02:00
Merge pull request #96 from bia-technologies/feature/75
Реализован проброс реквизитов заполнения фикции
This commit is contained in:
commit
c5ff9475d6
@ -56,12 +56,12 @@
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяРеквизита - Строка - Имя реквизита объекта или табличной части
|
||||
// Реквизиты - Структура - Значения реквизитов заполнения создаваемого объекта базы
|
||||
// - Неопределено
|
||||
// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
|
||||
// - Неопределено
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Конструктор
|
||||
Функция Фикция(ИмяРеквизита, Реквизиты = Неопределено) Экспорт
|
||||
Функция Фикция(ИмяРеквизита, РеквизитыЗаполнения = Неопределено) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
|
||||
@ -73,7 +73,7 @@
|
||||
ТекущаяЗапись = Контекст.Данные;
|
||||
КонецЕсли;
|
||||
|
||||
Значение = ЮТТестовыеДанныеСлужебный.Фикция(ОписаниеРеквизита.Тип);
|
||||
Значение = ЮТТестовыеДанныеСлужебный.Фикция(ОписаниеРеквизита.Тип, РеквизитыЗаполнения);
|
||||
ТекущаяЗапись.Вставить(ИмяРеквизита, Значение);
|
||||
|
||||
Возврат ЮТКонструкторТестовыхДанных;
|
||||
|
@ -179,7 +179,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ФикцияЗначенияБазы(Знач ТипЗначения) Экспорт
|
||||
Функция ФикцияЗначенияБазы(Знач ТипЗначения, Знач РеквизитыЗаполнения = Неопределено) Экспорт
|
||||
|
||||
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);
|
||||
|
||||
@ -203,6 +203,10 @@
|
||||
|
||||
Объект = СоздатьОбъект(Менеджер, ОписаниеТипа);
|
||||
|
||||
Если ЗначениеЗаполнено(РеквизитыЗаполнения) Тогда
|
||||
ЗаполнитьЗначенияСвойств(Объект, РеквизитыЗаполнения);
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных);
|
||||
|
||||
Возврат ЗаписатьОбъект(Объект);
|
||||
|
@ -22,10 +22,12 @@
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеТипа - ОписаниеТипов
|
||||
// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
|
||||
// - Неопределено
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный
|
||||
Функция Фикция(ОписаниеТипа) Экспорт
|
||||
Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт
|
||||
|
||||
Если ОписаниеТипа.Типы().Количество() > 1 Тогда
|
||||
НомерТипа = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(ОписаниеТипа.Типы().Количество());
|
||||
@ -38,14 +40,7 @@
|
||||
|
||||
Если Тип = Тип("Число") Тогда
|
||||
|
||||
МаксимальноеЗначение = 4294967295;
|
||||
Если ОписаниеТипа.КвалификаторыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный ИЛИ ЮТТестовыеДанные.СлучайноеБулево() Тогда
|
||||
МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(МаксимальноеЗначение);
|
||||
Значение = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(МаксимальноеЗначение, ОписаниеТипа.КвалификаторыЧисла.РазрядностьДробнойЧасти);
|
||||
Иначе
|
||||
МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(-МаксимальноеЗначение);
|
||||
Значение = ЮТТестовыеДанные.СлучайноеОтрицательноеЧисло(МаксимальноеЗначение, ОписаниеТипа.КвалификаторыЧисла.РазрядностьДробнойЧасти);
|
||||
КонецЕсли;
|
||||
Значение = ФиктивноеЧисло(ОписаниеТипа);
|
||||
|
||||
ИначеЕсли Тип = Тип("Строка") Тогда
|
||||
|
||||
@ -69,7 +64,7 @@
|
||||
|
||||
Иначе
|
||||
|
||||
Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип);
|
||||
Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения);
|
||||
ДобавитьТестовуюЗапись(Значение);
|
||||
|
||||
КонецЕсли;
|
||||
@ -219,4 +214,19 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ФиктивноеЧисло(ОписаниеТипа)
|
||||
|
||||
МаксимальноеЗначение = 4294967295;
|
||||
Если ОписаниеТипа.КвалификаторыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный ИЛИ ЮТТестовыеДанные.СлучайноеБулево() Тогда
|
||||
МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(МаксимальноеЗначение);
|
||||
Значение = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(МаксимальноеЗначение, ОписаниеТипа.КвалификаторыЧисла.РазрядностьДробнойЧасти);
|
||||
Иначе
|
||||
МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(-МаксимальноеЗначение);
|
||||
Значение = ЮТТестовыеДанные.СлучайноеОтрицательноеЧисло(МаксимальноеЗначение, ОписаниеТипа.КвалификаторыЧисла.РазрядностьДробнойЧасти);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -23,6 +23,7 @@
|
||||
ЮТТесты.ВТранзакции().УдалениеТестовыхДанных()
|
||||
.ДобавитьТест("ЗаполнитьСправочник")
|
||||
.ДобавитьТест("ЗаполнитьДокумент")
|
||||
.ДобавитьТест("Фикция")
|
||||
.ДобавитьТест("ФикцияОбязательныхПолей")
|
||||
;
|
||||
|
||||
@ -110,6 +111,34 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Фикция() Экспорт
|
||||
|
||||
Поставщик = Ютест.Данные().СоздатьЭлемент("Справочники.Контрагенты");
|
||||
|
||||
Данные = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара")
|
||||
.Установить("Поставщик", Поставщик)
|
||||
.Фикция("Дата")
|
||||
.Фикция("Номер")
|
||||
.Фикция("Склад")
|
||||
.Фикция("Валюта")
|
||||
.ТабличнаяЧасть("Товары")
|
||||
.ДобавитьСтроку()
|
||||
.Фикция("Товар", Новый Структура("Поставщик", Поставщик))
|
||||
.Фикция("Цена")
|
||||
.ДанныеОбъекта();
|
||||
|
||||
ЮТест.ОжидаетЧто(Данные)
|
||||
.Свойство("Дата").Заполнено()
|
||||
.Свойство("Номер").Заполнено()
|
||||
.Свойство("Склад").Заполнено()
|
||||
.Свойство("Валюта").Заполнено()
|
||||
.Свойство("Товары[0].Товар").Заполнено();
|
||||
|
||||
ПоставщикТовара = ЮТЗапросы.ЗначениеРеквизита(Данные.Товары[0].Товар, "Поставщик");
|
||||
ЮТест.ОжидаетЧто(ПоставщикТовара).Равно(Поставщик);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ФикцияОбязательныхПолей() Экспорт
|
||||
|
||||
Данные = ЮТест.Данные().КонструкторОбъекта("Справочники.Контрагенты")
|
||||
|
Loading…
x
Reference in New Issue
Block a user