mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2024-12-09 08:55:53 +02:00
parent
a675f37821
commit
7d40a50880
@ -161,7 +161,7 @@
|
|||||||
|
|
||||||
Строки.Добавить(СтрСоединить(ВыбираемыеПоля, "," + Символы.ПС));
|
Строки.Добавить(СтрСоединить(ВыбираемыеПоля, "," + Символы.ПС));
|
||||||
Строки.Добавить("ИЗ " + ОписаниеЗапроса.ИмяТаблицы);
|
Строки.Добавить("ИЗ " + ОписаниеЗапроса.ИмяТаблицы);
|
||||||
|
|
||||||
Условия = СформироватьУсловия(ОписаниеЗапроса.Условия, ОписаниеЗапроса.ИмяТаблицы, Запрос);
|
Условия = СформироватьУсловия(ОписаниеЗапроса.Условия, ОписаниеЗапроса.ИмяТаблицы, Запрос);
|
||||||
|
|
||||||
Если Условия.Количество() Тогда
|
Если Условия.Количество() Тогда
|
||||||
@ -299,6 +299,8 @@
|
|||||||
Шаблон = "ТИПЗНАЧЕНИЯ(%1) = &%2";
|
Шаблон = "ТИПЗНАЧЕНИЯ(%1) = &%2";
|
||||||
ИначеЕсли Выражение = ВыраженияПредикатов.Содержит Тогда
|
ИначеЕсли Выражение = ВыраженияПредикатов.Содержит Тогда
|
||||||
Шаблон = "%1 ПОДОБНО ""%%"" + &%2 + ""%%""";
|
Шаблон = "%1 ПОДОБНО ""%%"" + &%2 + ""%%""";
|
||||||
|
ИначеЕсли Выражение = ВыраженияПредикатов.ВСписке Тогда
|
||||||
|
Шаблон = "%1 В (&%2)";
|
||||||
ИначеЕсли Выражение = ВыраженияПредикатов.Заполнено Тогда
|
ИначеЕсли Выражение = ВыраженияПредикатов.Заполнено Тогда
|
||||||
// TODO Реализовать
|
// TODO Реализовать
|
||||||
ВызватьИсключение "Проверка заполненности пока не поддерживается";
|
ВызватьИсключение "Проверка заполненности пока не поддерживается";
|
||||||
|
@ -41,6 +41,22 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Устанавливает имя свойства, все последующие проверки будут относится к нему.
|
||||||
|
// Это алиас для см. Реквизит
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// ИмяСвойства - Строка - Имя реквизита
|
||||||
|
// - Число - Индекс коллекции
|
||||||
|
// - Произвольный - Ключ соответствия
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот модуль для замыкания
|
||||||
|
Функция Свойство(ИмяСвойства) Экспорт
|
||||||
|
|
||||||
|
Возврат Реквизит(ИмяСвойства);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Добавляет предикат, проверяющий равенство объекта (свойства) указанному значению
|
// Добавляет предикат, проверяющий равенство объекта (свойства) указанному значению
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
@ -295,6 +311,21 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Добавляет условие, что проверяемое значение (или значение его свойства) входит в список значений
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Значения - Массив из Произвольный - Значения для проверки
|
||||||
|
// - СписокЗначений из Произвольный - Значения для проверки
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот модуль для замыкания
|
||||||
|
Функция ВСписке(Значения) Экспорт
|
||||||
|
|
||||||
|
ДобавитьПредикат(Выражения().ВСписке, Значения);
|
||||||
|
Возврат ЮТПредикаты;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает набор сформированных утверждений.
|
// Возвращает набор сформированных утверждений.
|
||||||
//
|
//
|
||||||
// Рекомендуется использовать этот метод, если планируется отложенная проверка предикатов. Например, вы хотите сформировать два набору предикатов
|
// Рекомендуется использовать этот метод, если планируется отложенная проверка предикатов. Например, вы хотите сформировать два набору предикатов
|
||||||
@ -358,6 +389,7 @@
|
|||||||
Выражения.Вставить("НеСодержит", "НеСодержит");
|
Выражения.Вставить("НеСодержит", "НеСодержит");
|
||||||
Выражения.Вставить("СодержитСтрокуПоШаблону", "СодержитСтрокуПоШаблону");
|
Выражения.Вставить("СодержитСтрокуПоШаблону", "СодержитСтрокуПоШаблону");
|
||||||
Выражения.Вставить("НеСодержитСтрокуПоШаблону", "НеСодержитСтрокуПоШаблону");
|
Выражения.Вставить("НеСодержитСтрокуПоШаблону", "НеСодержитСтрокуПоШаблону");
|
||||||
|
Выражения.Вставить("ВСписке", "ВСписке");
|
||||||
|
|
||||||
Возврат Новый ФиксированнаяСтруктура(Выражения);
|
Возврат Новый ФиксированнаяСтруктура(Выражения);
|
||||||
|
|
||||||
|
@ -142,6 +142,8 @@
|
|||||||
Шаблон = "содержит %1";
|
Шаблон = "содержит %1";
|
||||||
ИначеЕсли Выражение = Выражения.СодержитСтрокуПоШаблону Тогда
|
ИначеЕсли Выражение = Выражения.СодержитСтрокуПоШаблону Тогда
|
||||||
Шаблон = "содержит подстроку соответствующую шаблону %1";
|
Шаблон = "содержит подстроку соответствующую шаблону %1";
|
||||||
|
ИначеЕсли Выражение = Выражения.ВСписке Тогда
|
||||||
|
Шаблон = "в списке %1";
|
||||||
Иначе
|
Иначе
|
||||||
ВызватьИсключение "Не описан шаблон сообщения для выражения предиката " + Выражение;
|
ВызватьИсключение "Не описан шаблон сообщения для выражения предиката " + Выражение;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
@ -109,7 +109,9 @@
|
|||||||
// в противном случае, будет возвращен текст шаблона без изменений.
|
// в противном случае, будет возвращен текст шаблона без изменений.
|
||||||
//
|
//
|
||||||
Функция ПодставитьПредставлениеЗначенияВШаблон(ШаблонСтроки, ЗначениеПараметра) Экспорт
|
Функция ПодставитьПредставлениеЗначенияВШаблон(ШаблонСтроки, ЗначениеПараметра) Экспорт
|
||||||
|
|
||||||
Возврат СтрЗаменить(ШаблонСтроки, "%1", ПредставлениеЗначения(ЗначениеПараметра));
|
Возврат СтрЗаменить(ШаблонСтроки, "%1", ПредставлениеЗначения(ЗначениеПараметра));
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -481,6 +481,10 @@
|
|||||||
|
|
||||||
Результат = ПроверитьСоответствуетШаблону(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки);
|
Результат = ПроверитьСоответствуетШаблону(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки);
|
||||||
|
|
||||||
|
ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ВСписке Тогда
|
||||||
|
|
||||||
|
Результат = ПроверитьВСписке(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
ВызватьИсключение СтрШаблон("Неизвестное выражение предиката `%1`", Выражение.ВидСравнения);
|
ВызватьИсключение СтрШаблон("Неизвестное выражение предиката `%1`", Выражение.ВидСравнения);
|
||||||
@ -630,6 +634,24 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПроверитьВСписке(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки)
|
||||||
|
|
||||||
|
ТипыПараметровСоответствуют = ПроверитьТипЗначения(РезультатПроверки, ОжидаемоеЗначение, "Массив, ФиксированныйМассив, СписокЗначений");
|
||||||
|
|
||||||
|
Если Не ТипыПараметровСоответствуют Тогда
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТипСписка = ТипЗнч(ОжидаемоеЗначение);
|
||||||
|
|
||||||
|
Если ЮТТипыДанныхСлужебный.ЭтоМассива(ТипСписка) Тогда
|
||||||
|
Возврат ОжидаемоеЗначение.Найти(ПроверяемоеЗначение) <> Неопределено;
|
||||||
|
Иначе
|
||||||
|
Возврат ОжидаемоеЗначение.НайтиПоЗначению(ПроверяемоеЗначение) <> Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -483,6 +483,22 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Проверяет значение (или его свойство), оно должно входить в указанный список.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Значения - Массив из Произвольный - Значения для проверки
|
||||||
|
// - СписокЗначений из Произвольный - Значения для проверки
|
||||||
|
// ОписаниеПроверки - Строка - Описание конкретной проверки
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// ОбщийМодуль - Этот модуль для замыкания
|
||||||
|
Функция ВСписке(Значения, ОписаниеПроверки = Неопределено) Экспорт
|
||||||
|
|
||||||
|
ПроверитьПредикат(ЮТПредикаты.Выражения().ВСписке, Значения, ОписаниеПроверки);
|
||||||
|
Возврат ЮТУтверждения;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
// Проверяет наличие свойств и их значения у проверяемого объекта (или его свойства).
|
// Проверяет наличие свойств и их значения у проверяемого объекта (или его свойства).
|
||||||
|
@ -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");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
@ -31,6 +31,7 @@
|
|||||||
.ДобавитьТест("ЗначенияРеквизитовЗаписи")
|
.ДобавитьТест("ЗначенияРеквизитовЗаписи")
|
||||||
.ДобавитьТест("ЗначениеРеквизитаЗаписи")
|
.ДобавитьТест("ЗначениеРеквизитаЗаписи")
|
||||||
.ДобавитьТест("ДвиженияДокумента")
|
.ДобавитьТест("ДвиженияДокумента")
|
||||||
|
.ДобавитьТест("Записи_Условие_ВСписке")
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -117,23 +118,19 @@
|
|||||||
|
|
||||||
Процедура РезультатЗапроса() Экспорт
|
Процедура РезультатЗапроса() Экспорт
|
||||||
|
|
||||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
|
Товар = НовыйТовар();
|
||||||
.Фикция("Наименование")
|
|
||||||
.Фикция("Поставщик");
|
|
||||||
Ссылка = Конструктор.Записать();
|
|
||||||
ДанныеСправочника = Конструктор.ДанныеОбъекта();
|
|
||||||
|
|
||||||
ОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса();
|
ОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса();
|
||||||
ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары";
|
ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары";
|
||||||
ОписаниеЗапроса.Условия.Добавить("Ссылка = &Ссылка");
|
ОписаниеЗапроса.Условия.Добавить("Ссылка = &Ссылка");
|
||||||
ОписаниеЗапроса.Условия.Добавить("НЕ ПометкаУдаления");
|
ОписаниеЗапроса.Условия.Добавить("НЕ ПометкаУдаления");
|
||||||
ОписаниеЗапроса.ЗначенияПараметров.Вставить("Ссылка", Ссылка);
|
ОписаниеЗапроса.ЗначенияПараметров.Вставить("Ссылка", Товар);
|
||||||
ОписаниеЗапроса.ВыбираемыеПоля.Добавить("Наименование");
|
ОписаниеЗапроса.ВыбираемыеПоля.Добавить("Наименование");
|
||||||
ОписаниеЗапроса.ВыбираемыеПоля.Добавить("1+1 КАК Число");
|
ОписаниеЗапроса.ВыбираемыеПоля.Добавить("1+1 КАК Число");
|
||||||
|
|
||||||
ЮТест.ОжидаетЧто(ЮТЗапросы.РезультатЗапроса(ОписаниеЗапроса))
|
ЮТест.ОжидаетЧто(ЮТЗапросы.РезультатЗапроса(ОписаниеЗапроса))
|
||||||
.ИмеетДлину(1)
|
.ИмеетДлину(1)
|
||||||
.Свойство("[0].Наименование").Равно(ДанныеСправочника.Наименование)
|
.Свойство("[0].Наименование").Равно(Товар.Наименование)
|
||||||
.Свойство("[0].Число").Равно(2);
|
.Свойство("[0].Число").Равно(2);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -395,4 +392,49 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура Записи_Условие_ВСписке() Экспорт
|
||||||
|
|
||||||
|
ИмяТаблицы = "Справочник.Товары";
|
||||||
|
ВидТовар = ПредопределенноеЗначение("Перечисление.ВидыТоваров.Товар");
|
||||||
|
ВидУслуга = ПредопределенноеЗначение("Перечисление.ВидыТоваров.Услуга");
|
||||||
|
Товар = НовыйТовар(ВидТовар);
|
||||||
|
Услуга = НовыйТовар(ВидУслуга);
|
||||||
|
|
||||||
|
Результат = ЮТЗапросы.Записи(ИмяТаблицы, ЮТест.Предикат()
|
||||||
|
.Свойство("Вид").ВСписке(ЮТКоллекции.ЗначениеВМассиве(ВидТовар, ВидУслуга)));
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Результат)
|
||||||
|
.ИмеетДлину(2)
|
||||||
|
.ЛюбойЭлементСодержитСвойствоСоЗначением("Ссылка", Товар)
|
||||||
|
.ЛюбойЭлементСодержитСвойствоСоЗначением("Ссылка", Услуга);
|
||||||
|
|
||||||
|
Результат = ЮТЗапросы.Записи(ИмяТаблицы, ЮТест.Предикат()
|
||||||
|
.Свойство("Вид").ВСписке(ЮТКоллекции.ЗначениеВМассиве(ВидТовар)));
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(Результат)
|
||||||
|
.ИмеетДлину(1)
|
||||||
|
.Свойство("[0].Ссылка", Товар);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
Функция НовыйТовар(ВидТовара = Неопределено)
|
||||||
|
|
||||||
|
Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
|
||||||
|
.Фикция("Наименование")
|
||||||
|
.Фикция("Поставщик");
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ВидТовара) Тогда
|
||||||
|
Конструктор.Установить("Вид", ВидТовара);
|
||||||
|
Иначе
|
||||||
|
Конструктор.Фикция("Вид");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Конструктор.Записать();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -77,7 +77,15 @@
|
|||||||
.ДобавитьТест("ЛюбойЭлементСоответствуетПредикату")
|
.ДобавитьТест("ЛюбойЭлементСоответствуетПредикату")
|
||||||
.ДобавитьТест("СодержитПредикат")
|
.ДобавитьТест("СодержитПредикат")
|
||||||
.ДобавитьТест("НеСодержитПредикат")
|
.ДобавитьТест("НеСодержитПредикат")
|
||||||
.ДобавитьТест("ФорматированныеСтроки")
|
.ДобавитьТест("ФорматированныеСтроки");
|
||||||
|
|
||||||
|
Массив = ЮТКоллекции.ЗначениеВМассиве(0, 1, "2");
|
||||||
|
Список = Новый СписокЗначений();
|
||||||
|
Список.ЗагрузитьЗначения(Массив);
|
||||||
|
|
||||||
|
ЮТТесты.ДобавитьТест("ВСписке")
|
||||||
|
.СПараметрами(Массив)
|
||||||
|
.СПараметрами(Список)
|
||||||
;
|
;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -2375,6 +2383,16 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ВСписке(Коллекция) Экспорт
|
||||||
|
|
||||||
|
ЮТест.ОжидаетЧто(0)
|
||||||
|
.ВСписке(Коллекция);
|
||||||
|
|
||||||
|
Ошибка = ОшибкаУтверждения(-1, "ВСписке", Коллекция);
|
||||||
|
ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("проверяемое значение `-1` в списке `%1`, но это не так.", Коллекция));
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ФорматированныеСтроки() Экспорт
|
Процедура ФорматированныеСтроки() Экспорт
|
||||||
|
|
||||||
Строка = Новый ФорматированнаяСтрока("Тестовая строка");
|
Строка = Новый ФорматированнаяСтрока("Тестовая строка");
|
||||||
@ -2399,9 +2417,9 @@
|
|||||||
Функция ОшибкаУтверждения(ПроверяемоеЗначение, Утверждение, Параметр)
|
Функция ОшибкаУтверждения(ПроверяемоеЗначение, Утверждение, Параметр)
|
||||||
|
|
||||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(Параметр);
|
Параметры = ЮТКоллекции.ЗначениеВМассиве(Параметр);
|
||||||
|
|
||||||
ЮТест.ОжидаетЧто(ПроверяемоеЗначение);
|
ЮТест.ОжидаетЧто(ПроверяемоеЗначение);
|
||||||
Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод("ЮТУтверждения." + Утверждение, Параметры);
|
Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод("ЮТУтверждения." + Утверждение, Параметры);
|
||||||
|
|
||||||
Возврат Ошибка;
|
Возврат Ошибка;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
Loading…
Reference in New Issue
Block a user