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

Утверждения проверки наличия (отсутствия) записей с указанным

номером, кодом или наименованием
This commit is contained in:
alkoleft 2023-05-18 00:50:46 +03:00
parent e954f52bde
commit 01faf27d04
3 changed files with 208 additions and 3 deletions

View File

@ -108,6 +108,48 @@
КонецФункции
Функция СодержитЗаписиСНаименованием(Знач ОжидаемоеНаименование, Знач ПроверятьПометкуУдаления = Истина, Знач ОписаниеУтверждения = Неопределено) Экспорт
Условия = ПредикатПоискаПоРеквизиту("Наименование", ОжидаемоеНаименование, ПроверятьПометкуУдаления);
Возврат СодержитЗаписи(Условия, ОписаниеУтверждения);
КонецФункции
Функция СодержитЗаписиСКодом(Знач ОжидаемыйКод, Знач ПроверятьПометкуУдаления = Истина,Знач ОписаниеУтверждения = Неопределено) Экспорт
Условия = ПредикатПоискаПоРеквизиту("Код", ОжидаемыйКод, ПроверятьПометкуУдаления);
Возврат СодержитЗаписи(Условия, ОписаниеУтверждения);
КонецФункции
Функция СодержитЗаписиСНомером(Знач ОжидаемыйНомер, Знач ПроверятьПометкуУдаления = Истина,Знач ОписаниеУтверждения = Неопределено) Экспорт
Условия = ПредикатПоискаПоРеквизиту("Номер", ОжидаемыйНомер, ПроверятьПометкуУдаления);
Возврат СодержитЗаписи(Условия, ОписаниеУтверждения);
КонецФункции
Функция НеСодержитЗаписиСНаименованием(Знач ОжидаемоеНаименование, Знач ПроверятьПометкуУдаления = Истина, Знач ОписаниеУтверждения = Неопределено) Экспорт
Условия = ПредикатПоискаПоРеквизиту("Наименование", ОжидаемоеНаименование, ПроверятьПометкуУдаления);
Возврат НеСодержитЗаписи(Условия, ОписаниеУтверждения);
КонецФункции
Функция НеСодержитЗаписиСКодом(Знач ОжидаемыйКод, Знач ПроверятьПометкуУдаления = Истина,Знач ОписаниеУтверждения = Неопределено) Экспорт
Условия = ПредикатПоискаПоРеквизиту("Код", ОжидаемыйКод, ПроверятьПометкуУдаления);
Возврат НеСодержитЗаписи(Условия, ОписаниеУтверждения);
КонецФункции
Функция НеСодержитЗаписиСНомером(Знач ОжидаемыйНомер, Знач ПроверятьПометкуУдаления = Истина,Знач ОписаниеУтверждения = Неопределено) Экспорт
Условия = ПредикатПоискаПоРеквизиту("Номер", ОжидаемыйНомер, ПроверятьПометкуУдаления);
Возврат НеСодержитЗаписи(Условия, ОписаниеУтверждения);
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -170,4 +212,17 @@
КонецПроцедуры
Функция ПредикатПоискаПоРеквизиту(ИмяРеквизита, ЗначениеРеквизита, ПроверятьПометкуУдаления)
Условия = ЮТПредикаты.Инициализировать()
.Реквизит(ИмяРеквизита).Равно(ЗначениеРеквизита);
Если ПроверятьПометкуУдаления Тогда
Условия.Реквизит("ПометкаУдаления").Равно(Ложь);
КонецЕсли;
Возврат Условия;
КонецФункции
#КонецОбласти

View File

@ -24,6 +24,12 @@
.ДобавитьТест("СодержитЗаписи")
.ДобавитьТест("НеСодержитЗаписи")
.ДобавитьТест("СообщенияОбОшибках")
.ДобавитьТест("СодержитЗаписиСНаименованием")
.ДобавитьТест("СодержитЗаписиСКодом")
.ДобавитьТест("СодержитЗаписиСНомером")
.ДобавитьТест("НеСодержитЗаписиСНаименованием")
.ДобавитьТест("НеСодержитЗаписиСКодом")
.ДобавитьТест("НеСодержитЗаписиСНомером")
;
КонецПроцедуры
@ -155,20 +161,156 @@
Ошибка = ИнформацияОбОшибке();
КонецПопытки;
ПроверитьОшибкуУтверждения(Индекс, Ошибка, Вариант.ОжидаемоеСообщение);
ПроверитьОшибкуУтверждения("Вариант " + Индекс, Ошибка, Вариант.ОжидаемоеСообщение);
Индекс = Индекс + 1;
КонецЦикла;
КонецПроцедуры
Процедура СодержитЗаписиСНаименованием() Экспорт
ИмяТаблицы = "Справочник.Товары";
Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
.Фикция("Наименование");
Данные = Конструктор.ДанныеОбъекта();
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНаименованием(Данные.Наименование);
Объект = Конструктор.Записать();
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНаименованием(Данные.Наименование);
ПомощникТестированияВызовСервера.УстановитьРеквизит(Объект, "ПометкаУдаления", Истина);
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНаименованием(Данные.Наименование, Ложь);
Попытка
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНаименованием(Данные.Наименование);
Исключение
Ошибка = ИнформацияОбОшибке();
КонецПопытки;
ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "Ожидали, что проверяемая таблица `Справочник.Товары` содержит записи с `Наименование` равно");
КонецПроцедуры
Процедура СодержитЗаписиСКодом() Экспорт
ИмяТаблицы = "Справочник.Товары";
Код = "t00000001";
Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
.Установить("Код", Код);
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСКодом(Код);
Объект = Конструктор.Записать();
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСКодом(Код);
ПомощникТестированияВызовСервера.УстановитьРеквизит(Объект, "ПометкаУдаления", Истина);
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСКодом(Код, Ложь);
Попытка
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСКодом(Код);
Исключение
Ошибка = ИнформацияОбОшибке();
КонецПопытки;
ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Справочник.Товары` содержит записи с `Код` равно");
КонецПроцедуры
Процедура СодержитЗаписиСНомером() Экспорт
ИмяТаблицы = "Документ.Оплата";
Номер = "t00000001";
Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.Оплата")
.Установить("Номер", Номер);
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНомером(Номер);
Объект = Конструктор.Записать();
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНомером(Номер);
ПомощникТестированияВызовСервера.УстановитьРеквизит(Объект, "ПометкаУдаления", Истина);
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНомером(Номер, Ложь);
Попытка
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНомером(Номер);
Исключение
Ошибка = ИнформацияОбОшибке();
КонецПопытки;
ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Документ.Оплата` содержит записи с `Номер` равно");
КонецПроцедуры
Процедура НеСодержитЗаписиСНаименованием() Экспорт
ИмяТаблицы = "Справочник.Товары";
Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
.Фикция("Наименование")
.Установить("ПометкаУдаления", Истина);
Данные = Конструктор.ДанныеОбъекта();
Конструктор.Записать();
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНаименованием(Данные.Наименование);
Попытка
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНаименованием(Данные.Наименование, Ложь);
Исключение
Ошибка = ИнформацияОбОшибке();
КонецПопытки;
ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Справочник.Товары` не содержит записи с `Наименование` равно");
КонецПроцедуры
Процедура НеСодержитЗаписиСКодом() Экспорт
ИмяТаблицы = "Справочник.Товары";
Код = "t00000001";
Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
.Установить("Код", Код)
.Установить("ПометкаУдаления", Истина);
Конструктор.Записать();
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСКодом(Код);
Попытка
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСКодом(Код, Ложь);
Исключение
Ошибка = ИнформацияОбОшибке();
КонецПопытки;
ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Справочник.Товары` не содержит записи с `Код` равно");
КонецПроцедуры
Процедура НеСодержитЗаписиСНомером() Экспорт
ИмяТаблицы = "Документ.Оплата";
Номер = "t00000001";
Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.Оплата")
.Установить("Номер", Номер)
.Установить("ПометкаУдаления", Истина);
Конструктор.Записать();
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНомером(Номер);
Попытка
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНомером(Номер, Ложь);
Исключение
Ошибка = ИнформацияОбОшибке();
КонецПопытки;
ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Документ.Оплата` не содержит записи с `Номер` равно");
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ПроверитьОшибкуУтверждения(Индекс, ИнформацияОбОшибке, ОжидаемоеОписание) Экспорт
Процедура ПроверитьОшибкуУтверждения(Префикс, ИнформацияОбОшибке, ОжидаемоеОписание) Экспорт
ЮТест.ОжидаетЧто(ИнформацияОбОшибке, "Вариант " + Индекс)
ЮТест.ОжидаетЧто(ИнформацияОбОшибке, Префикс)
.ЭтоНеНеопределено()
.Свойство("Описание")
.НачинаетсяС("[Failed]")

View File

@ -63,4 +63,12 @@
КонецФункции
Процедура УстановитьРеквизит(Ссылка, ИмяРеквизита, ЗначениеРеквизита) Экспорт
Объект = Ссылка.ПолучитьОбъект();
Объект[ИмяРеквизита] = ЗначениеРеквизита;
Объект.Записать();
КонецПроцедуры
#КонецОбласти