Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

401 / Исправлена ошибка удаления тестовых данных при создании объекта #405

Merged
merged 5 commits into from
Sep 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@
Функция СерверноеХранилищеТестов() Экспорт

АдресХранилища = ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяКонтекстаХранилище());

Если АдресХранилища = Неопределено Тогда
ВызватьИсключение "Не удалось получить адрес серверного хранилища тестов.
|Возможно сломана транзакция. ТранзакцияАктивна=" + ТранзакцияАктивна();
КонецЕсли;

Возврат ПолучитьИзВременногоХранилища(АдресХранилища);

КонецФункции
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,6 @@

Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);

ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);

Возврат Ссылка;

КонецФункции
Expand All @@ -149,8 +147,6 @@

Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);

ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);

Возврат Ссылка;

КонецФункции
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
ПолучитьСообщенияПользователю(Истина);
#КонецЕсли

// Установка контекста исполнения вызывается в см. ЮТИсполнительСлужебныйКлиентСервер.ПередКаждымТестом
УстановитьКонтекстИсполнения(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор, ОписаниеСобытия.Тест);
ЮТКонтекстСлужебный.УстановитьКонтекстТеста();

КонецПроцедуры
Expand Down
2 changes: 1 addition & 1 deletion exts/yaxunit/src/CommonModules/ЮТОбщий/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@

Функция Менеджер(Знач Менеджер) Экспорт

#Если Сервер Тогда
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ТолстыйКлиентУправляемоеПриложение Тогда
Описание = ЮТМетаданные.ОписаниеОбъектаМетаданных(Менеджер);

Если Описание = Неопределено Тогда
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,14 +80,16 @@
Процедура СформироватьОтчетВФормате(РезультатВыполнения, ГенераторОтчета, ИмяФайлаОтчета, Формат, Обработчик)

Если Формат.СамостоятельнаяЗаписьОтчета Тогда
ГенераторОтчета.ЗаписатьОтчет(РезультатВыполнения, ИмяФайлаОтчета, Формат, Обработчик)
ГенераторОтчета.ЗаписатьОтчет(РезультатВыполнения, ИмяФайлаОтчета, Формат, Обработчик);
ЮТЛогирование.Информация("Сохранен отчет о тестировании " + ИмяФайлаОтчета);
Иначе
ДанныеОтчета = ГенераторОтчета.ДанныеОтчета(РезультатВыполнения, Формат);

Если ДанныеОтчета = Неопределено Тогда
ЮТЛогирование.Ошибка("Не удалось получить данные отчета");
Иначе
ДанныеОтчета.Записать(ИмяФайлаОтчета);
ЮТЛогирование.Информация("Сохранен отчет о тестировании " + ИмяФайлаОтчета);
КонецЕсли;

ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Обработчик);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,9 @@

КаталогПроекта = ЮТНастройкиВыполнения.КаталогПроекта();

ЕстьПолноеИмя = ЮТОбщий.ПеременнаяСодержитСвойство(ПереданныеФайлы[0], "ПолноеИмя");

Для Каждого Файл Из ПереданныеФайлы Цикл

ИмяФайла = ?(ЕстьПолноеИмя, Файл.ПолноеИмя, Файл.Имя);
ИмяФайла = ?(ЗначениеЗаполнено(Файл.ПолноеИмя), Файл.ПолноеИмя, Файл.Имя);
ИмяВКаталоге = СтрЗаменить(ИмяФайла, КаталогПроекта, "");
ПолноеИмя = ЮТФайлы.ОбъединитьПути(Контекст.РабочийКаталог, ИмяВКаталоге);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,15 @@
Возврат;
КонецЕсли;

РезультатПередачиФайлов = ЮТРазрешениеЗависимостейСлужебныйВызовСервера.ПоместитьФайлыВРабочийКаталог(ПомещенныеФайлы);
ОписаниеФайлов = Новый Массив;

Для Каждого Файл Из ПомещенныеФайлы Цикл
ОписаниеФайла = Новый Структура("Имя, Хранение, ПолноеИмя");
ЗаполнитьЗначенияСвойств(ОписаниеФайла, Файл);
ОписаниеФайлов.Добавить(ОписаниеФайла);
КонецЦикла;

РезультатПередачиФайлов = ЮТРазрешениеЗависимостейСлужебныйВызовСервера.ПоместитьФайлыВРабочийКаталог(ОписаниеФайлов);

Результат = ЮТФабрикаСлужебный.РезультатРазрешенияЗависимости();
Результат.Успешно = РезультатПередачиФайлов <> Неопределено;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@

ДанныеОшибки = ДанныеОшибки(Неопределено, Сообщение, ЮТФабрикаСлужебный.ТипыОшибок().Исполнения);
Объект.Ошибки.Добавить(ДанныеОшибки);
ЮТЛогирование.Ошибка(Сообщение);

КонецПроцедуры

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@

Функция ВызватьСервернуюОбработкуСобытияИсполненияТестов(ИмяСобытия, ОписаниеСобытия)

ЮТЛогирование.Отладка("Вызов серверной обработки события " + ИмяСобытия);
Параметры = Новый Массив(4);
Параметры[0] = ИмяСобытия;

Expand All @@ -323,7 +324,10 @@
Параметры[3] = ЮТИсполнительСлужебныйКлиентСервер.ИдентификаторТеста(ОписаниеСобытия.Модуль, ОписаниеСобытия.Набор, ОписаниеСобытия.Тест);
КонецЕсли;

Возврат ЮТМетодыСлужебный.ВызватьФункциюКонфигурацииНаСервере("ЮТСобытияСлужебный", "СерверныйВызовОбработкиСобытияИсполненияТестов", Параметры);
Результат = ЮТМетодыСлужебный.ВызватьФункциюКонфигурацииНаСервере("ЮТСобытияСлужебный", "СерверныйВызовОбработкиСобытияИсполненияТестов", Параметры);
ЮТЛогирование.Отладка("Завершена серверная обработка события " + ИмяСобытия);

Возврат Результат;

КонецФункции

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,99 +20,13 @@

Функция ТаблицыРавны(Знач Данные1, Знач Данные2) Экспорт

Если Данные1.Количество() <> Данные2.Количество() Тогда
Возврат Ложь;
КонецЕсли;

Если Данные1.Колонки.Количество() <> Данные2.Колонки.Количество() Тогда
Возврат Ложь;
КонецЕсли;

Для Каждого Колонка Из Данные1.Колонки Цикл
Если Данные2.Колонки.Найти(Колонка.Имя) = Неопределено Тогда
Возврат Ложь;
КонецЕсли;

Индекс = Данные1.Количество() - 1;
Пока Индекс >= 0 Цикл
Если НЕ ЮТСравнениеСлужебныйКлиентСервер.ЗначенияРавны(Данные1[Индекс][Колонка.Имя], Данные2[Индекс][Колонка.Имя]) Тогда
Возврат Ложь;
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
КонецЦикла;

Возврат Истина;
Возврат ЮТСравнениеСлужебныйСервер.ТаблицыРавны(Данные1, Данные2);

КонецФункции

Функция ТабличныеДокументыРавны(Знач ТабличныйДокумент1, Знач ТабличныйДокумент2) Экспорт

Данные1 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент1);
Данные2 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент2);

Возврат ТаблицыРавны(Данные1, Данные2);

КонецФункции

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

// https://github.com/vanessa-opensource/add
// перенесен из Functest
Функция ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент, УчитыватьТолькоВидимыеКолонки = Ложь, УчитыватьТолькоВидимыеСтроки = Ложь)

ТипТабличногоДокумента = ТипЗнч(ТабличныйДокумент);
Если ТипТабличногоДокумента <> Тип("ТабличныйДокумент") И ТипТабличногоДокумента <> Тип("ПолеТабличногоДокумента") Тогда
ВызватьИсключение "ПолучитьТаблицуЗначенийИзТабличногоДокумента: Требуется тип ТабличныйДокумент или ПолеТабличногоДокумента";
КонецЕсли;

Если УчитыватьТолькоВидимыеКолонки И УчитыватьТолькоВидимыеСтроки Тогда
ЮТОбщийСлужебныйВызовСервера.ТаблицаИзТабличногоДокумента(ТипТабличногоДокумента);
КонецЕсли;

НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы;
НомерПоследнейСтроки = ТабличныйДокумент.ВысотаТаблицы;

НоваяТаблицаЗначений = Новый ТаблицаЗначений;
Колонки = НоваяТаблицаЗначений.Колонки;
ТипСтрока = Новый ОписаниеТипов("Строка");

// TODO При определении видимости не учитывается наличие нескольких форматов строк, сейчас видимость колонки определяется по формату первой строки
УчитываемыеКолонки = Новый Массив;
Для НомерКолонки = 1 По НомерПоследнейКолонки Цикл
ОбластьКолонки = ТабличныйДокумент.Область(0, НомерКолонки, 1, НомерКолонки);

УчитыватьКолонку = Не УчитыватьТолькоВидимыеКолонки Или ОбластьКолонки.Видимость;
Если УчитыватьКолонку Тогда
УчитываемыеКолонки.Добавить(НомерКолонки);
ШиринаКолонки = ОбластьКолонки.ШиринаКолонки;
Если ШиринаКолонки <= 1 Тогда
ШиринаКолонки = 1;
КонецЕсли;
ИмяКолонки = "К" + Формат(Колонки.Количество() + 1, "ЧН=; ЧГ=0");
Колонки.Добавить(ИмяКолонки, ТипСтрока, ИмяКолонки, ШиринаКолонки);
КонецЕсли;
КонецЦикла;

ГраницаКолонок = УчитываемыеКолонки.ВГраница();
Для НомерСтроки = 1 По НомерПоследнейСтроки Цикл

Если УчитыватьТолькоВидимыеСтроки И Не ТабличныйДокумент.Область(НомерСтроки, , НомерСтроки).Видимость Тогда
Продолжить;
КонецЕсли;

НоваяСтрока = НоваяТаблицаЗначений.Добавить();

Для Индекс = 0 По ГраницаКолонок Цикл
НомерКолонки = УчитываемыеКолонки[Индекс];
Область = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
НоваяСтрока[Индекс] = Область.Текст;
КонецЦикла;
КонецЦикла;

Возврат НоваяТаблицаЗначений;
Возврат ЮТСравнениеСлужебныйСервер.ТабличныеДокументыРавны(ТабличныйДокумент1, ТабличныйДокумент2);

КонецФункции

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,11 @@

ИначеЕсли ТипЗначения = Тип("ТабличныйДокумент") Тогда

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
Результат = ЮТСравнениеСлужебныйСервер.ТабличныеДокументыРавны(Данные1, Данные2);
#Иначе
Результат = ЮТСравнениеСлужебныйВызовСервера.ТабличныеДокументыРавны(Данные1, Данные2);
#КонецЕсли

ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоПримитивныйТип(ТипЗначения) ИЛИ ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения) Тогда
// Возвращаем ложь, так как для этих типов должно сработать обычное равенство
Expand All @@ -75,7 +79,7 @@
#Если Сервер Тогда
Если ТипЗначения = Тип("ТаблицаЗначений") Тогда

Результат = ЮТСравнениеСлужебныйВызовСервера.ТаблицыРавны(Данные1, Данные2);
Результат = ЮТСравнениеСлужебныйСервер.ТаблицыРавны(Данные1, Данные2);

ИначеЕсли ТипЗначения = Тип("ХранилищеЗначения") Тогда

Expand Down
Loading
Loading