From 8e7f98301e367db7aeca85d3c8539274a1159870 Mon Sep 17 00:00:00 2001 From: kitos Date: Thu, 2 Jul 2026 16:08:46 +0200 Subject: [PATCH] refactor(campaigns): fix approve() error message, add terminal-state test --- backend/app/domain/entities/campaign.py | 2 +- backend/tests/test_campaign_entity.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/app/domain/entities/campaign.py b/backend/app/domain/entities/campaign.py index f53aea7..72218ff 100644 --- a/backend/app/domain/entities/campaign.py +++ b/backend/app/domain/entities/campaign.py @@ -161,7 +161,7 @@ class CampaignEntity: if self.status != CampaignStatus.pending_approval: raise InvalidStateTransition( self.status.value, CampaignStatus.active.value, - [s.value for s in VALID_TRANSITIONS[self.status]], + [CampaignStatus.pending_approval.value], ) self.status = CampaignStatus.active diff --git a/backend/tests/test_campaign_entity.py b/backend/tests/test_campaign_entity.py index 5e23bd4..9759783 100644 --- a/backend/tests/test_campaign_entity.py +++ b/backend/tests/test_campaign_entity.py @@ -212,6 +212,12 @@ def test_approve_from_draft_raises(): e.approve() +def test_approve_from_completed_raises(): + e = _entity("completed", test_count=1) + with pytest.raises(InvalidStateTransition): + e.approve() + + # ── 11. Reject ─────────────────────────────────────────────────────────