test: close coverage gaps — 51% → 97%#7
Merged
Conversation
… processes Adds request specs for all previously uncovered controllers: - FailedJobsController: index, destroy (HTML + Turbo Stream), retry - QueuesController: index, pause, resume - ProcessesController: index - Cache/Cable: pending stubs (controllers not yet fully built out) Also fixes two production bugs found during spec authoring: - FailedJobsController#destroy used local `execution` instead of @execution, preventing the Turbo Stream view from referencing the discarded record - failed_jobs index view called `.lines` on a Hash — SolidQueue serializes `error` as JSON; replaced with `execution.exception_class` accessor - Adds destroy.turbo_stream.erb for failed_jobs to support inline row removal Coverage: 51.98% → 79.11% Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Covers HTML redirect, filter param preservation, turbo_stream row removal, empty-state replacement, and the 422 guard for non-discardable statuses (claimed jobs). Coverage: 90.13% → 94.74% Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tent Rack deprecated :unprocessable_entity in favour of :unprocessable_content. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…onfigure - jobs#show: adds a spec for malformed arguments that exercises the rescue JSON::ParserError branch, ensuring a 200 is still returned - SolidStackWeb.configure: new unit spec verifies the yield-self block pattern used in host-app initializers Coverage: 94.74% → 96.05% Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a dedicated authentication request spec exercising: - auth block returns truthy → request passes through (200) - auth block returns falsy → falls back to HTTP Basic (401) Also adds SolidStackWeb.configure unit spec (yield-self block). Coverage: 94.74% → 97.37% Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
FailedJobsController,QueuesController,ProcessesController,CacheController,CableControllerjobs#destroyspecs (HTML redirect, filter param preservation, Turbo Stream row removal, empty-state replacement, 422 guard)SolidStackWeb.configureunit specBugs fixed while writing specs
FailedJobsController#destroyused a localexecutionvariable — the Turbo Stream view had no@executionto reference, so inline row removal silently did nothingfailed_jobs/index.html.erbcalled.lineson a Hash — SolidQueue v1.3+ serializeserroras JSON; replaced withexecution.exception_classfailed_jobs/destroy.turbo_stream.erb— added to support inline row removal (mirrors jobs destroy behaviour):unprocessable_entitywith:unprocessable_contentTest plan
bundle exec rspec— 66 examples, 0 failures, 97.37% coverage🤖 Generated with Claude Code