/
liquid-g
/
liquid-code
Обзор
Документация
Войти
/
liquid-g
/
liquid-code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop-0.4
tests/test_dto.py
52 строки
2 KB
User
0.4.13 - Request/Response DTO с генератором make:dto и полная структура документации по маршрутизации" -m "- Добавлен генератор DTO: lcc make:dto <name> с валидацией через Pydantic
06 июл 2026, 16:08
06 июл 2026, 16:08
01392a9
Код
Авторство
О чём код?
"""Тесты для DTO генератора.""" import os import tempfile import shutil from pathlib import Path def test_dto_generation(): """Тестирует генерацию DTO файлов.""" from liquidcode.commands.make.dto import run import argparse # Создаем временную директорию test_dir = tempfile.mkdtemp() try: # Тест 1: Создание DTO с именем args = argparse.Namespace( name="Product", directory=test_dir, force=False, no_interactive=True ) run(args) dto_file = Path(test_dir) / "ProductDTO.py" assert dto_file.exists(), f"Файл ProductDTO.py не создан. Существующие файлы: {list(Path(test_dir).iterdir())}" content = dto_file.read_text(encoding='utf-8') assert "class ProductDTO" in content, "Класс ProductDTO не найден в файле" assert "BaseModel" in content, "BaseModel не найден в файле" assert "pydantic" in content.lower(), "Pydantic не упомянут в файле" # Тест 2: Перезапись с --force args.force = True run(args) assert dto_file.exists(), "Файл не перезаписан с --force" # Тест 3: Попытка перезаписи без --force args.force = False run(args) print("[OK] Все тесты DTO прошли успешно!") finally: # Очистка shutil.rmtree(test_dir, ignore_errors=True) if __name__ == "__main__": test_dto_generation()