User Story:
As a developer, I want donations rejected if the campaign is cancelled or ended so that funds aren't sent to inactive campaigns.
Acceptance Criteria:
- Status check: must be
CampaignStatus::Active or CampaignStatus::GoalReached
- Panics with
Error::CampaignNotActive for invalid statuses
- Status checked atomically before transfer
User Story:
As a developer, I want donations rejected if the campaign is cancelled or ended so that funds aren't sent to inactive campaigns.
Acceptance Criteria:
CampaignStatus::ActiveorCampaignStatus::GoalReachedError::CampaignNotActivefor invalid statuses