-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Не удаляются тестовые данные расширений #416
Conversation
WalkthroughИзменения в пулл-реквесте добавляют новые функции и процедуры в модуль Changes
Assessment against linked issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SonarQube Quality Gate passed!
0 Bugs
0 Vulnerabilities
0 Code Smells
No data Coverage
0.00% Duplication
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (2)
exts/yaxunit/src/CommonModules/ЮТМетодыСлужебныйВызовСервера/Module.bsl (1)
84-98
: Оптимизация инициализации массива ссылочных типовДля повышения читаемости и эффективности кода в функции
ТипыОбъектовМетаданныхСсылочногоТипа
можно инициализировать массив сразу со всеми значениями, используя конструктор массива с параметрами.Примените следующий дифф для оптимизации:
- ТипыОбъектовМетаданныхСсылочногоТипа = Новый Массив; - ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("Справочники"); - ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("Документы"); - ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("БизнесПроцессы"); - ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("Задачи"); - ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("ПланыСчетов"); - ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("ПланыОбмена"); - ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("ПланыВидовХарактеристик"); - ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("ПланыВидовРасчета"); + ТипыОбъектовМетаданныхСсылочногоТипа = Новый Массив("Справочники", "Документы", "БизнесПроцессы", "Задачи", "ПланыСчетов", "ПланыОбмена", "ПланыВидовХарактеристик", "ПланыВидовРасчета");exts/yaxunit/src/CommonModules/ЮТТипыДанныхСлужебный/Module.bsl (1)
160-163
: Добавьте комментарий для повышения читаемости кодаРекомендуется добавить комментарий перед блоком, где обрабатываются ссылочные типы из расширений. Это улучшит понимание логики функции другими разработчиками.
Предлагаемый комментарий:
+// Добавляем ссылочные типы из активных расширений СсылочныеТипыРасширений = ЮТМетодыСлужебныйВызовСервера.СсылочныеТипыДобавляемыеРасширениями();
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- exts/yaxunit/src/CommonModules/ЮТМетодыСлужебныйВызовСервера/Module.bsl (1 hunks)
- exts/yaxunit/src/CommonModules/ЮТТипыДанныхСлужебный/Module.bsl (1 hunks)
🧰 Additional context used
🔇 Additional comments (4)
exts/yaxunit/src/CommonModules/ЮТМетодыСлужебныйВызовСервера/Module.bsl (3)
34-34
: Проверить необходимость привилегированного режимаВ строке 34 устанавливается привилегированный режим с помощью
УстановитьПривилегированныйРежим(Истина);
. Убедитесь, что использование привилегированного режима действительно необходимо и безопасно в данном контексте, чтобы избежать потенциальных рисков безопасности.
27-60
: Реализация соответствует поставленным задачамДобавлена функция
СсылочныеТипыДобавляемыеРасширениями
, которая корректно собирает ссылочные типы из активных расширений. Логика и использование методов соответствуют ожиданиям.
66-83
: ПроцедураДополнитьТипы
реализована корректноПроцедура успешно дополняет массив ссылочных типов на основе переданных параметров. Логика обработки метаданных расширений соответствует требованиям.
exts/yaxunit/src/CommonModules/ЮТТипыДанныхСлужебный/Module.bsl (1)
160-166
: Изменения корректно добавляют ссылочные типы из расширенийКод правильно объединяет ссылочные типы, предоставляемые активными расширениями, с существующим описанием типа
ЛюбаяСсылка
. Это обеспечивает корректную обработку типов данных из расширений и решает проблему, связанную с удалением тестовых данных расширений.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
exts/yaxunit/src/CommonModules/ЮТМетодыСлужебныйВызовСервера/Module.bsl (1)
68-69
: Рассмотрите возможность объединения строк для улучшения читаемостиНа строках 68-69 происходит конкатенация строк для формирования имени пустой ссылки типа. Для улучшения читаемости кода, рекомендуется объединить эти строки.
Предлагаю следующее изменение:
- ИмяПустойСсылкиТипа = ОМД.ПолноеИмя() + ".ПустаяСсылка"; - СсылкаДляОпределенияТипа = ПредопределенноеЗначение(ИмяПустойСсылкиТипа); + СсылкаДляОпределенияТипа = ПредопределенноеЗначение(ОМД.ПолноеИмя() + ".ПустаяСсылка");
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
- exts/yaxunit/src/CommonModules/ЮТМетодыСлужебныйВызовСервера/Module.bsl (1 hunks)
🧰 Additional context used
🔇 Additional comments (4)
exts/yaxunit/src/CommonModules/ЮТМетодыСлужебныйВызовСервера/Module.bsl (4)
27-52
: Функция корректно собирает ссылочные типы из расширений.Реализация функции
СсылочныеТипыДобавляемыеРасширениями
выглядит логичной и соответствует поставленной задаче. Она правильно фильтрует расширения, изменяющие структуру данных, и собирает ссылочные типы из них.
58-74
: Процедура корректно дополняет массив ссылочных типов.Реализация процедуры
ДополнитьТипы
логична и соответствует поставленной задаче. Она правильно фильтрует объекты по принадлежности и добавляет соответствующие ссылочные типы в массив.
76-90
: Функция корректно определяет типы объектов метаданных ссылочного типа.Реализация функции
ТипыОбъектовМетаданныхСсылочногоТипа
выглядит правильной и полной. Она возвращает массив, содержащий все необходимые типы объектов метаданных ссылочного типа.
35-35
:⚠️ Potential issueПроверьте вызов метода
РасширенияКонфигурации.Получить
В строке 35 есть лишняя запятая после открывающей скобки в вызове метода
РасширенияКонфигурации.Получить(,
. Это может привести к синтаксической ошибке.Предлагаю исправить следующим образом:
- РасширенияСеанса = РасширенияКонфигурации.Получить(, + РасширенияСеанса = РасширенияКонфигурации.Получить(Likely invalid or redundant comment.
@zerobig Сможешь добавить тест на метод В расширении с тестами создать объект метаданных и проверить, чтобы он был в результате. @coderabbitai напиши тест на метод |
Tip For best results, initiate chat on the files or code changes. @alkoleft, я написал тест для метода // Тестовый метод для проверки включения типов из расширений
Процедура ТестОписаниеТиповЛюбаяСсылка() Экспорт
// Получаем описание типов
СсылочныеТипы = ЮТТипыДанныхСлужебный.ОписаниеТиповЛюбаяСсылка();
// Проверяем, что типы из расширения присутствуют
// Предполагается, что в расширении добавлен объект метаданных "Справочник.ТестовыйОбъектИзРасширения"
ЕстьТипИзРасширения = Ложь;
Для Каждого Тип Из СсылочныеТипы Цикл
Если Тип = Тип("СправочникСсылка.ТестовыйОбъектИзРасширения") Тогда
ЕстьТипИзРасширения = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
// Проверяем условие
Ожидать(ЕстьТипИзРасширения, "Тип из расширения не найден в ОписаниеТиповЛюбаяСсылка");
КонецПроцедуры Данный тест проверяет, что метод |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (4)
tests/src/CommonModules/ОМ_ЮТТипыДанныхСлужебный/Module.bsl (2)
62-62
: Одобрено добавление нового теста, но рекомендуется уточнить название.Добавление теста
ОписаниеТиповЛюбаяСсылка_ВключаетТипыИзРасширений
соответствует целям PR и поможет убедиться, что типы из расширений включены в результат функцииОписаниеТиповЛюбаяСсылка
.Рекомендуется рассмотреть возможность сокращения названия теста для улучшения читаемости, например:
ОписаниеТиповЛюбаяСсылка_УчитываетРасширения
. Это сохранит суть теста, но сделает название более лаконичным.
126-134
: Одобрено добавление новой тестовой процедуры, но есть предложения по улучшению.Тестовая процедура
ОписаниеТиповЛюбаяСсылка_ВключаетТипыИзРасширений
корректно проверяет включение типов из расширений в результат функцииОписаниеТиповЛюбаяСсылка
. ИспользованиеЮТест.ОжидаетЧто()
для утверждений соответствует стилю других тестов в файле.Для повышения надежности и ясности теста предлагаются следующие улучшения:
- Добавьте проверку на наличие хотя бы одного типа из расширения, не привязываясь к конкретному имени:
ЕстьТипИзРасширения = Ложь; Для Каждого Тип Из ЛюбаяСсылка.Типы() Цикл Если СтрНачинаетсяС(Тип.Имя, "Расш") Тогда ЕстьТипИзРасширения = Истина; Прервать; КонецЕсли; КонецЦикла; ЮТест.ОжидаетЧто(ЕстьТипИзРасширения, "Не найден ни один тип из расширения").Равно(Истина);
Если возможно, добавьте динамическое создание тестового объекта метаданных в расширении перед выполнением теста, чтобы гарантировать наличие проверяемого типа.
Добавьте комментарий, объясняющий цель теста и ожидаемое поведение функции
ОписаниеТиповЛюбаяСсылка
в отношении типов из расширений.Эти изменения сделают тест более надежным и информативным, особенно при выполнении в различных средах или при изменении конфигурации расширений.
tests/src/Configuration/Configuration.mdo (1)
76-76
: Добавление нового справочникаРасш1_ТестовыйСправочник
Добавление нового справочника
Расш1_ТестовыйСправочник
соответствует целям PR по решению проблем с тестовыми данными для расширений.Рекомендации:
- Обновите документацию, чтобы отразить добавление нового справочника и его назначение.
- Убедитесь, что для нового справочника созданы необходимые права доступа и роли.
- Рассмотрите возможность добавления комментария в код, объясняющего назначение этого тестового справочника.
tests/src/Catalogs/Расш1_ТестовыйСправочник/Расш1_ТестовыйСправочник.mdo (1)
18-18
: Рассмотрите возможность включения полнотекстового поиска при вводе строки.Параметр
<fullTextSearchOnInputByString>
установлен вDontUse
, что отключает полнотекстовый поиск при вводе строки пользователем. Включение этой опции (Use
) может улучшить удобство поиска и повысить эффективность работы пользователей с каталогом.Для изменения настройки примените следующий дифф:
- <fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString> + <fullTextSearchOnInputByString>Use</fullTextSearchOnInputByString>
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (4)
- fixtures/demo-configuration/src/Configuration/Configuration.mdo (1 hunks)
- tests/src/Catalogs/Расш1_ТестовыйСправочник/Расш1_ТестовыйСправочник.mdo (1 hunks)
- tests/src/CommonModules/ОМ_ЮТТипыДанныхСлужебный/Module.bsl (2 hunks)
- tests/src/Configuration/Configuration.mdo (2 hunks)
🧰 Additional context used
🔇 Additional comments (5)
tests/src/Configuration/Configuration.mdo (1)
14-14
: Обновление режима совместимости расширения конфигурацииРежим совместимости расширения конфигурации обновлен с 8.3.10 до 8.3.11. Это может привести к изменениям в поведении системы.
Пожалуйста, убедитесь, что:
- Все существующие функции работают корректно после обновления.
- Новые возможности, доступные в версии 8.3.11, используются правильно (если применимо).
- Проведено тестирование на совместимость со всеми используемыми расширениями и конфигурациями.
fixtures/demo-configuration/src/Configuration/Configuration.mdo (1)
57-57
: Обновление режима совместимости одобрено.Изменение режима совместимости с 8.3.10 на 8.3.11 выглядит корректным. Однако, важно учитывать следующее:
- Это изменение может повлиять на работу всего приложения.
- Необходимо провести тщательное тестирование всех функций приложения, чтобы убедиться, что обновление не вызвало непредвиденных проблем.
- Рекомендуется ознакомиться с документацией по версии 8.3.11, чтобы узнать о новых возможностях и потенциальных изменениях в поведении системы.
Для проверки совместимости выполните следующий скрипт:
tests/src/Catalogs/Расш1_ТестовыйСправочник/Расш1_ТестовыйСправочник.mdo (3)
19-19
: Подтвердите необходимость создания объектов при вводе новых значений.Параметр
<createOnInput>
установлен вUse
, что позволяет создавать новые элементы каталога при вводе несуществующих значений. Убедитесь, что такое поведение соответствует требованиям бизнес-логики и не приведет к непреднамеренному добавлению лишних данных.
22-23
: Проверьте настройки иерархии каталога и отображения папок.Параметр
<levelCount>
установлен в2
, что задает двухуровневую иерархию, а<foldersOnTop>
установлен вtrue
, что приводит к отображению папок выше элементов. Убедитесь, что такие настройки соответствуют ожиданиям пользователей и не усложняют навигацию по каталогу.
4-9
: Проверьте уникальностьtypeId
иvalueTypeId
в разделе<producedTypes>
.Необходимо убедиться, что все значения
typeId
иvalueTypeId
уникальны и корректно соотносятся с соответствующими типами данных. Дублирование или некорректные идентификаторы могут привести к ошибкам в работе системы.Запустите следующий скрипт для проверки уникальности идентификаторов:
@zerobig Подскажи что с тестом, я видел его в коммитах, но его нет в реквесте. |
Меня сбил с мысли ИИ который присоединён к репозиторию. Там целая история вышла. О том как я написал, увидел решение ИИ, отменил своё написанное и признал решение ИИ чушью... )) В общем, закончилось тем что надо поднимать режим совместимости в тестовой конфигурациити до 8.3.11. Иначе справочник в расширение добавить нельзя. И моими размышлениями о том, так ли нужен этот тест который повышает версию. |
Описание изменений
Функция ОписаниеТиповЛюбаяСсылка из модуля ЮТТипыДанныхСлужебный возвращает только ссылки из основной конфигурации. Ссылки расширений не собираются и не добавляются.
Добавил слегка модифицированный код из БСП.
Close #415
Summary by CodeRabbit
Новые функции
Улучшения