29 lines
1.0 KiB
Python
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"
|