39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
import unittest
|
|
|
|
from govoplan_files.backend.manifest import manifest
|
|
|
|
|
|
REPOSITORY_ROOT = Path(__file__).resolve().parents[1]
|
|
|
|
|
|
class FilesQuickAccessContractTests(unittest.TestCase):
|
|
def test_manifest_declares_exact_version_result_and_fallback(self) -> None:
|
|
tool = manifest.frontend.quick_access_tools[0]
|
|
|
|
self.assertEqual("files.recent", tool.id)
|
|
self.assertEqual(("files.file-version",), tool.returned_reference_kinds)
|
|
self.assertEqual("files.quick_access.files", tool.help_context_id)
|
|
self.assertEqual("/files", tool.full_page_path)
|
|
|
|
def test_renderer_and_page_keep_recent_selection_and_upload_bounded(self) -> None:
|
|
renderer = (
|
|
REPOSITORY_ROOT / "webui/src/features/files/FileQuickAccess.tsx"
|
|
).read_text(encoding="utf-8")
|
|
page = (
|
|
REPOSITORY_ROOT / "webui/src/features/files/FilesPage.tsx"
|
|
).read_text(encoding="utf-8")
|
|
|
|
self.assertIn('sort: "recent", page_size: 7', renderer)
|
|
self.assertIn('kind: "file-version"', renderer)
|
|
self.assertIn("quickAccessLaunchState(launchContext)", renderer)
|
|
self.assertIn('to="/files?quickAction=upload"', renderer)
|
|
self.assertIn('parameters.get("quickAction") !== "upload"', page)
|
|
self.assertIn('openDialog("upload"', page)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|