1. "Пользователь не найден" + заполнила таблицы из бд Dogs, Qoestions. 2. Меню паузы + оно больше не появляется в главном меню, при выборе собаки и уровня. 3. Окно победы + не открывается куча окон, собака не двигается, пока окно победы активно + добавлена кнопка "выйти в главное меню" 3. Окно регистрации + кнопка "посмотреть пароль" 4. таблица GameSessions + сохранение игрового процесса в таблицу GameSessions + одинаковые данные переносятся автоматически в таблицу GameSessions + собранные косточки и тп заполняют только таблицу GameSessions 5. Окно "Профиль пользователя" + нет ошибки открытия окна + корректное сохранение игрового процесса (уровни, косточки) 6. Окно "Магазин" + не кликабельная + кнопка "назад" - shop_ui.py 7. Окно "База знаний" + не кликабельная + кнопка "назад" - knowledge_ui.py
39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
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()
|