mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-02-10 19:41:26 +02:00
Вынес метод фикция в публичный интерфейс Добавлена поддержка генерации по типу (в дополнение к описанию типов)
This commit is contained in:
parent
6018e65368
commit
a9c43445d9
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@ -646,6 +646,21 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Генерирует новое значение указанного типа.
|
||||
// Если `ОписаниеТипа` содержит несколько типов, то выбирается случайный из них.
|
||||
// Параметры:
|
||||
// ОписаниеТипа - ОписаниеТипов, Тип - Тип значения генерируемого значения
|
||||
// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
|
||||
// - Неопределено
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Сгенерированное значение указанного типа
|
||||
Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт
|
||||
|
||||
Возврат ЮТТестовыеДанныеСлужебный.Фикция(ОписаниеТипа, РеквизитыЗаполнения);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@ -18,18 +18,14 @@
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Фикция.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеТипа - ОписаниеТипов
|
||||
// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
|
||||
// - Неопределено
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный
|
||||
// см. ЮТТестовыеДанные.Фикция
|
||||
Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт
|
||||
|
||||
Если ОписаниеТипа.Типы().Количество() > 1 Тогда
|
||||
ПереданоОписаниеТипа = ТипЗнч(ОписаниеТипа) = Тип("ОписаниеТипов");
|
||||
|
||||
Если НЕ ПереданоОписаниеТипа Тогда
|
||||
Тип = ОписаниеТипа;
|
||||
ИначеЕсли ОписаниеТипа.Типы().Количество() > 1 Тогда
|
||||
НомерТипа = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(ОписаниеТипа.Типы().Количество());
|
||||
Тип = ОписаниеТипа.Типы()[НомерТипа - 1];
|
||||
Иначе
|
||||
@ -44,17 +40,11 @@
|
||||
|
||||
ИначеЕсли Тип = Тип("Строка") Тогда
|
||||
|
||||
Если ОписаниеТипа.КвалификаторыСтроки.Длина = 0 Тогда
|
||||
Значение = ЮТТестовыеДанные.СлучайнаяСтрока(ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(100));
|
||||
Иначе
|
||||
Значение = ЮТТестовыеДанные.СлучайнаяСтрока(ОписаниеТипа.КвалификаторыСтроки.Длина);
|
||||
КонецЕсли;
|
||||
Значение = ФикстивнаяСтрока(ОписаниеТипа);
|
||||
|
||||
ИначеЕсли Тип = Тип("Дата") Тогда
|
||||
|
||||
//@skip-check use-non-recommended-method
|
||||
Значение = ЮТТестовыеДанные.СлучайнаяДата(ТекущаяДата() - 315360000, ТекущаяДата() + 315360000); // BSLLS:DeprecatedCurrentDate-off
|
||||
// +/- 10 лет
|
||||
Значение = ФикстивнаяДата(ОписаниеТипа);
|
||||
|
||||
ИначеЕсли Тип = Тип("Булево") Тогда
|
||||
|
||||
@ -75,7 +65,11 @@
|
||||
ВызватьИсключение СтрШаблон("Создание фейковых значений для `%1` не поддерживается", ОписаниеТипа);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОписаниеТипа.ПривестиЗначение(Значение);
|
||||
Если ПереданоОписаниеТипа Тогда
|
||||
Значение = ОписаниеТипа.ПривестиЗначение(Значение);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -91,7 +85,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
Процедура ДобавитьВременныйФайл(Файл) Экспорт
|
||||
|
||||
@ -216,6 +210,10 @@
|
||||
|
||||
Функция ФиктивноеЧисло(ОписаниеТипа)
|
||||
|
||||
Если ТипЗнч(ОписаниеТипа) <> Тип("ОписаниеТипов") Тогда
|
||||
Возврат ЮТТестовыеДанные.СлучайноеЧисло();
|
||||
КонецЕсли;
|
||||
|
||||
МаксимальноеЗначение = 4294967295;
|
||||
Если ОписаниеТипа.КвалификаторыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный ИЛИ ЮТТестовыеДанные.СлучайноеБулево() Тогда
|
||||
МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(МаксимальноеЗначение);
|
||||
@ -229,4 +227,28 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ФикстивнаяСтрока(ОписаниеТипа)
|
||||
|
||||
Если ТипЗнч(ОписаниеТипа) <> Тип("ОписаниеТипов") Тогда
|
||||
Возврат ЮТТестовыеДанные.СлучайнаяСтрока(ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(100));
|
||||
КонецЕсли;
|
||||
|
||||
Если ОписаниеТипа.КвалификаторыСтроки.Длина = 0 Тогда
|
||||
Значение = ЮТТестовыеДанные.СлучайнаяСтрока(ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(100));
|
||||
Иначе
|
||||
Значение = ЮТТестовыеДанные.СлучайнаяСтрока(ОписаниеТипа.КвалификаторыСтроки.Длина);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ФикстивнаяДата(ОписаниеТипа)
|
||||
|
||||
Интервал = 315360000; // 10 лет
|
||||
//@skip-check use-non-recommended-method
|
||||
Возврат ЮТТестовыеДанные.СлучайнаяДата(ТекущаяДата() - Интервал, ТекущаяДата() + Интервал); // BSLLS:DeprecatedCurrentDate-off
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@ -39,6 +39,12 @@
|
||||
.ДобавитьТест("УстановитьЗначениеРеквизита")
|
||||
.ДобавитьТест("СлучайноеОтрицательноеЧисло")
|
||||
.ДобавитьТест("СлучайныйНомерТелефона")
|
||||
.ДобавитьТест("Фикция")
|
||||
.СПараметрами(Тип("Строка"))
|
||||
.СПараметрами(Тип("СправочникСсылка.Банки"))
|
||||
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки"))
|
||||
.СПараметрами(Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3, 1, ДопустимыйЗнак.Неотрицательный)))
|
||||
.СПараметрами(Новый ОписаниеТипов("СправочникСсылка.Банки, ДокументСсылка.Заказ"))
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -441,4 +447,14 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Фикция(ТипЗначения) Экспорт
|
||||
|
||||
Значение = ЮТест.Данные().Фикция(ТипЗначения);
|
||||
|
||||
ЮТест.ОжидаетЧто(Значение)
|
||||
.Заполнено()
|
||||
.ИмеетТип(ТипЗначения);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
x
Reference in New Issue
Block a user