Skip to content

Fix/issue170#171

Open
CaseAsLimbo wants to merge 10 commits into
mainfrom
fix/issue170
Open

Fix/issue170#171
CaseAsLimbo wants to merge 10 commits into
mainfrom
fix/issue170

Conversation

@CaseAsLimbo
Copy link
Copy Markdown

@CaseAsLimbo CaseAsLimbo commented May 19, 2026

Изменения

  • Был исправлен баг из-за которого после падения не анониманого комментария с ERROR падало 57 тестов
  • Была исправлена причина падения теста test_create_comment с тестовым набором включающим не анонимные комментарии
  • Добавлена проверка на корректность переданных в userdata параметров
  • Добавлен uv.lock в .gitignore

Детали реализации

  • Баг из-за которого падало 57 тестов с ERROR связан с не очевидным поведением sqlalchemy, где на основе того, были ли подготовлены на вставку (INSERT) в текущей не завершенной транзакции одновременно записи в таблицах LecturerUserComment и Comment. Если тест падал с TypeError и успевала добавиться только одна из этих таблиц, алхимия в tear-down фикстуры lecturers в итоговый SQL запрос не добавляла строку на удаление записи LecturerUserComment - сразу после этого происходило удаление лектора из таблицы Lecturer, что приводило к конфликту ведь не удаленный LecturerUserComment по-прежнему ссылался на него.
    Решение: В модели Lecturer и LectureUserComment добавил атрибуты связи relationship с параметром cascade, где явно указал удалять сначала дочерние таблицы.
  • Тест test_create_comment с не анонимаными комментариями падал, из-за того, что для user-а передавалась не корректная userdata. Были добавлены мок фикстуры authlib_user, authlib_mock и user_mock для подмены данных user-а возвращаемых UnionAuth

Check-List

  • Вы проверили свой код перед отправкой запроса?
  • Вы написали тесты к реализованным функциям?
  • Вы не забыли применить форматирование black и isort для Back-End или Prettier для Front-End?

@CaseAsLimbo CaseAsLimbo requested a review from petrCher May 19, 2026 19:17
@CaseAsLimbo CaseAsLimbo linked an issue May 19, 2026 that may be closed by this pull request
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 19, 2026

Code Coverage

Coverage Report
FileStmtsMissCoverMissing
rating_api
   __main__.py440%1–7
   exceptions.py43784%35–37, 48–50, 58
rating_api/models
   base.py64494%24–27
   db.py1641889%118, 120, 122, 124, 135, 174, 192, 202, 216, 225–227, 261, 275–287
rating_api/routes
   base.py16194%41
   comment.py1513577%77, 95, 144–145, 167–176, 192, 265–266, 268–269, 277–282, 291, 298–300, 330, 353, 393–404, 431
   exc_handlers.py32391%36, 43, 50
   lecturer.py109992%72–73, 83, 89–90, 230, 238, 260, 266
rating_api/schemas
   base.py12467%6–9
   models.py155398%189, 191, 201
rating_api/utils
   mark.py880%1–20
TOTAL7929688% 

Summary

Tests Skipped Failures Errors Time
88 0 💤 0 ❌ 0 🔥 20.572s ⏱️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Исправить падающие тесты

1 participant