Didactopus/tests/test_review_actions.py

29 lines
1.0 KiB
Python

from didactopus.review_schema import DraftPackData, ConceptReviewEntry, ReviewSession, ReviewAction
from didactopus.review_actions import apply_action
def test_apply_status_action() -> None:
session = ReviewSession(
reviewer="R",
draft_pack=DraftPackData(
concepts=[ConceptReviewEntry(concept_id="c1", title="C1")]
),
)
apply_action(session, "R", ReviewAction(action_type="set_status", target="c1", payload={"status": "trusted"}))
assert session.draft_pack.concepts[0].status == "trusted"
assert len(session.ledger) == 1
def test_merge_action() -> None:
session = ReviewSession(
reviewer="R",
draft_pack=DraftPackData(
concepts=[
ConceptReviewEntry(concept_id="a", title="A"),
ConceptReviewEntry(concept_id="b", title="B"),
]
),
)
apply_action(session, "R", ReviewAction(action_type="merge_concepts", target="", payload={"source": "a", "destination": "b"}))
assert session.draft_pack.concepts[0].status == "rejected"