Skip to content

Remove raising status validator so invalid status returns a validation error - #85

Merged
kanejamison merged 1 commit into
mainfrom
fix/issue-56-status-validation-raise
Aug 28, 2026
Merged

Remove raising status validator so invalid status returns a validation error#85
kanejamison merged 1 commit into
mainfrom
fix/issue-56-status-validation-raise

Conversation

@kanejamison

Copy link
Copy Markdown
Owner

Fixes the 500 caused by raising ArgumentError inside a validation callback.

Problem

validate_status_value in lib/bunko/models/post_methods/publishable.rb raised ArgumentError mid-validation, so a tampered form/API status value produced a 500 instead of valid? == false. It also duplicated the existing inclusion validation on :status.

Changes

  • Deleted validate_status_value and its validate registration; the inclusion validation already covers invalid values.
  • Updated test/models/post_publishing_test.rb: invalid status now asserts ActiveRecord::RecordInvalid / errors on :status instead of ArgumentError; blank status asserts the presence error.

QA Notes

Saving a post with any invalid status now adds "<value> is not a valid status" to errors[:status] and never raises.

Test coverage

Publishing suite passes (59 runs, 0 failures); standardrb clean.

Closes #56

🤖 Generated with Claude Code

https://claude.ai/code/session_01MSumqtaUuj2UhU4Wtm1C1H

validate_status_value raised ArgumentError inside a validation
callback, so a tampered form/API status value produced a 500 instead
of a validation error. The inclusion validation on :status already
covers the same check, so the custom validator is deleted and tests
now assert validation errors instead of raises.

Closes #56

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MSumqtaUuj2UhU4Wtm1C1H
@kanejamison
kanejamison merged commit 3233c9b into main Aug 28, 2026
4 checks passed
@kanejamison
kanejamison deleted the fix/issue-56-status-validation-raise branch August 28, 2026 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

validate_status_value raises ArgumentError inside a validation (500 on bad input)

1 participant