Implement user-specific question numbering and update database schema. Added triggers for automatic question numbering and adjustments upon deletion. Enhanced CRUD operations to manage user_question_number effectively.

This commit is contained in:
2025-09-06 18:35:12 +03:00
parent 50be010026
commit 596a2fa813
111 changed files with 16847 additions and 65 deletions

View File

@@ -0,0 +1,74 @@
"""
Тесты для модели UserBlock
Что тестировать:
- Создание объекта UserBlock
- Валидация полей (blocker_id, blocked_id)
- Временные поля (created_at)
- Уникальность пары (blocker_id, blocked_id)
- Валидация ID пользователей
- Сериализация/десериализация
- Обработка None значений
"""
import pytest
from datetime import datetime
from models.user_block import UserBlock
class TestUserBlock:
"""Тесты для модели UserBlock"""
def test_user_block_creation_basic(self):
"""Тест базового создания блокировки"""
# TODO: Реализовать тест
pass
def test_user_block_creation_with_timestamp(self):
"""Тест создания блокировки с временной меткой"""
# TODO: Реализовать тест
pass
def test_user_block_validation_blocker_id_required(self):
"""Тест обязательности blocker_id"""
# TODO: Реализовать тест
pass
def test_user_block_validation_blocked_id_required(self):
"""Тест обязательности blocked_id"""
# TODO: Реализовать тест
pass
def test_user_block_validation_different_ids(self):
"""Тест валидации разных ID (нельзя заблокировать себя)"""
# TODO: Реализовать тест
pass
def test_user_block_validation_positive_ids(self):
"""Тест валидации положительных ID"""
# TODO: Реализовать тест
pass
def test_user_block_created_at_timestamp(self):
"""Тест временной метки создания"""
# TODO: Реализовать тест
pass
def test_user_block_serialization(self):
"""Тест сериализации блокировки"""
# TODO: Реализовать тест
pass
def test_user_block_deserialization(self):
"""Тест десериализации блокировки"""
# TODO: Реализовать тест
pass
def test_user_block_equality(self):
"""Тест сравнения блокировок"""
# TODO: Реализовать тест
pass
def test_user_block_string_representation(self):
"""Тест строкового представления"""
# TODO: Реализовать тест
pass