Skip to content

Fix/issue170#171

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

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

Conversation

@CaseAsLimbo

@CaseAsLimbo CaseAsLimbo commented May 19, 2026

Copy link
Copy Markdown

Изменения

  • Проблема падения 57 тестов с ERROR(Исправить падающие тесты #170)

    • Был исправлен баг из-за которого после падения не анониманого комментария с ERROR падало 57 тестов

    • Была исправлена причина падения теста test_create_comment с тестовым набором включающим не анонимные комментарии

    • Добавлена проверка полей добавляемых комментариев на соответствие userdata

  • Написание тестов для ручки import_comments(Написать тесты для ручки post comment/import)

    • Добавлены тесты для ручки post comment/import
  • Был реализован мок aiohttp запросов(для выдачи ачивки в test_comment_create) через библиотеку aioresponses


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

  • Баг из-за которого падало 57 тестов с ERROR связан с не очевидным поведением sqlalchemy, где на основе того, были ли подготовлены на вставку (INSERT) в текущей не завершенной транзакции одновременно записи в таблицах LecturerUserComment и Comment. Если тест падал с TypeError и успевала добавиться только одна из этих таблиц, алхимия в tear-down фикстуры lecturers в итоговый SQL запрос не добавляла строку на удаление записи LecturerUserComment - сразу после этого происходило удаление лектора из таблицы Lecturer, что приводило к конфликту ведь не удаленный LecturerUserComment по-прежнему ссылался на него.
    Решение: (update) В фикстуре lecturers добавлен dbsession.flush() после добавления в транзакцию каждого элемента на удаление.
  • Тест 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

github-actions Bot commented May 19, 2026

Copy link
Copy Markdown

Code Coverage

Coverage Report
FileStmtsMissCoverMissing
rating_api
   __main__.py440%1–7
   exceptions.py431174%24, 35–37, 48–50, 58, 70, 78, 86
rating_api/models
   base.py643250%35–38, 51–59, 63–84, 89–94
   db.py1623081%115, 117, 119, 121, 132, 167, 171, 175–177, 181–183, 187–189, 199, 213, 222–224, 229, 250, 254, 258, 272–284
rating_api/routes
   base.py16194%41
   comment.py15112021%59–155, 167–176, 190–197, 246–304, 327–332, 350–370, 393–404, 429–453
   exc_handlers.py32778%29, 36, 43, 50, 64, 71, 78
   lecturer.py1094658%41–48, 61–93, 228–244, 258–269
rating_api/schemas
   base.py12467%6–9
   models.py155398%189, 191, 201
rating_api/utils
   mark.py880%1–20
TOTAL79026666% 

Summary

Tests Skipped Failures Errors Time
94 0 💤 52 ❌ 0 🔥 15.941s ⏱️

Comment thread .gitignore Outdated
Comment thread tests/conftest.py Outdated
Comment thread tests/conftest.py
Comment thread tests/conftest.py
Comment thread tests/test_routes/test_comment.py
Comment thread tests/test_routes/test_comment.py Outdated
Comment thread tests/test_routes/test_comment.py Outdated
@petrCher

Copy link
Copy Markdown
Member
Снимок экрана — 2026-06-24 в 15 57 05 у меня еще локально при тестировании такие ошибки, у тебя есть? проблема в том что есть незамоканный вызов по https чего не должно быть при тестировании. мы должны без http запросов работать, для этого и созданы моки В общем посмотри, подумай что не так и как лучше исправить

Comment thread rating_api/models/db.py Outdated
… юзера; оставлена модульная структура мока юзера, чтобы не хардкодить данные userdata в тестах
@github-actions

Copy link
Copy Markdown

💩 Code linting failed, use black and isort to fix it.

@CaseAsLimbo CaseAsLimbo linked an issue Jun 27, 2026 that may be closed by this pull request
@github-actions

Copy link
Copy Markdown

💩 Code linting failed, use black and isort to fix it.

@github-actions

Copy link
Copy Markdown

💩 Code linting failed, use black and isort to fix it.

@CaseAsLimbo CaseAsLimbo requested a review from petrCher June 28, 2026 18:46
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.

Исправить падающие тесты Написать тесты для ручки post comment/import

2 participants