Исправления:
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:
parent
815f432536
commit
9f5d36d1a1
20 changed files with 3093 additions and 157 deletions
39
src/tests/database_test.py
Normal file
39
src/tests/database_test.py
Normal 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()
|
||||
Loading…
Add table
Add a link
Reference in a new issue