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 ─────────────────────────────────────────────────────────