from pathlib import Path import pytest from typing import Any from chitai.database import models as m @pytest.fixture(name="raw_users") def fx_raw_users() -> list[m.User | dict[str, Any]]: """Unstructured user representations.""" return [ {"email": "user1@example.com", "password": "password123"}, {"email": "user2@example.com", "password": "password234"}, ] @pytest.fixture(name="raw_libraries") def fx_raw_libraries(tmp_path: Path) -> list[m.Library | dict[str, Any]]: """Unstructured library representations.""" return [ { "name": "Default Test Library", "slug": "default-test-library", "root_path": f"{tmp_path}/default_library", "path_template": "{author}/{title}", "read_only": False, }, { "name": "Test Textbook Library", "slug": "test-textbook-library", "root_path": f"{tmp_path}/textbooks", "path_template": "{author}/{title}", "read_only": False, }, ] @pytest.fixture(name="raw_books") def fx_raw_books() -> list[m.Book | dict[str, Any]]: """Unstructured book representations.""" return [ { "library_id": 1, "title": "The Fellowship of the Ring", "path": "books/J.R.R Tolkien/Lord of the Rings/01 - The Fellowship of The Ring", "pages": 427, "authors": [{"name": "J.R.R Tolkien"}], "tags": [{"name": "Fantasy"}, {"name": "Adventure"}], "identifiers": {"isbn-13": "9780261102354"}, "series": {"name": "The Lord of the Rings"}, "series_position": "1", } ]