Исправления:

1. "Пользователь не найден"
+ заполнила таблицы из бд Dogs, Qoestions.
2. Меню паузы
+ оно больше не появляется в главном меню, при выборе собаки и уровня.
3. Окно победы
+ не открывается куча окон, собака не двигается, пока окно победы активно
+ добавлена кнопка "выйти в главное меню"
3. Окно регистрации
+ кнопка "посмотреть пароль"
4. таблица GameSessions
+ сохранение игрового процесса в таблицу GameSessions
+ одинаковые данные переносятся автоматически в таблицу GameSessions
+ собранные косточки и тп заполняют только таблицу GameSessions
5. Окно "Профиль пользователя"
+ нет ошибки открытия окна
+ корректное сохранение игрового процесса (уровни, косточки)
6. Окно "Магазин"
+ не кликабельная
+ кнопка "назад"
- shop_ui.py
7. Окно "База знаний"
+ не кликабельная
+ кнопка "назад"
- knowledge_ui.py
This commit is contained in:
Xatiko 2024-11-29 19:54:28 +03:00
parent 815f432536
commit 9f5d36d1a1
20 changed files with 3093 additions and 157 deletions

View file

@ -0,0 +1,39 @@
from database.db_session import get_session, init_db
from database.info.Dogs_table import populate_dogs
from database.info.Questions_table import populate_questions
from database.models import Dogs, Questions
def test_data_integrity():
session = get_session()
try:
# Проверяем, есть ли собаки
dogs = session.query(Dogs).all()
assert len(dogs) > 0, "Таблица Dogs пуста!"
# Проверяем, есть ли вопросы
questions = session.query(Questions).all()
assert len(questions) > 0, "Таблица Questions пуста!"
# Проверяем связь вопросов с породами
for question in questions:
assert question.dog_id is not None, f"У вопроса {question.question_id} отсутствует dog_id"
dog = session.query(Dogs).filter_by(dog_id=question.dog_id).first()
assert dog is not None, f"Ссылка на несуществующую собаку в вопросе {question.question_id}"
print("Все тесты успешно пройдены.")
except AssertionError as e:
print(f"Ошибка теста: {e}")
finally:
session.close()
if __name__ == "__main__":
# Инициализируем базу данных (пересоздаём таблицы для чистого теста)
init_db(refresh=True)
# Заполняем таблицы
populate_dogs()
populate_questions()
# Запускаем тесты
test_data_integrity()