feat(webui): complete postbox quick access
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from govoplan_postbox.backend.manifest import manifest
|
||||
|
||||
|
||||
REPOSITORY_ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
class PostboxInterfaceDocumentationContractTests(unittest.TestCase):
|
||||
def test_route_and_contributed_surfaces_remain_declared(self) -> None:
|
||||
frontend = manifest.frontend
|
||||
@@ -41,6 +45,27 @@ class PostboxInterfaceDocumentationContractTests(unittest.TestCase):
|
||||
self.assertIn("archive_postbox", reference.metadata["consequence_classes"])
|
||||
self.assertIn("withdraw_or_expire", reference.metadata["consequence_classes"])
|
||||
|
||||
quick_tool = manifest.frontend.quick_access_tools[0]
|
||||
self.assertEqual(("postbox.message",), quick_tool.returned_reference_kinds)
|
||||
self.assertEqual("postbox.quick_access.messages", quick_tool.help_context_id)
|
||||
self.assertEqual("/postbox", quick_tool.full_page_path)
|
||||
|
||||
def test_quick_access_is_bounded_and_owner_launched(self) -> None:
|
||||
quick_access = (
|
||||
REPOSITORY_ROOT / "webui/src/features/postbox/PostboxQuickAccess.tsx"
|
||||
).read_text(encoding="utf-8")
|
||||
page = (
|
||||
REPOSITORY_ROOT / "webui/src/features/postbox/PostboxPage.tsx"
|
||||
).read_text(encoding="utf-8")
|
||||
|
||||
self.assertIn("const MESSAGE_LIMIT = 7", quick_access)
|
||||
self.assertIn('"unread"', quick_access)
|
||||
self.assertIn('kind: "message"', quick_access)
|
||||
self.assertIn("launchContext.actingContext", quick_access)
|
||||
self.assertIn("quickAccessLaunchState(launchContext)", quick_access)
|
||||
self.assertIn('parameters.get("quickAction") !== "compose"', page)
|
||||
self.assertIn("openComposeFor(postbox)", page)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user