• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MushroomObserver / mushroom-observer / 26402358731
99%

Build:
DEFAULT BRANCH: main
Ran 25 May 2026 01:18PM UTC
Jobs 1
Files 1009
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 May 2026 01:14PM UTC coverage: 96.401% (+0.001%) from 96.4%
26402358731

push

github

web-flow
images: move 2 forms to Views/ (+ test for ImageOriginalLink) (#4353)

Per #4331. Two forms move; two stay reusable on closer inspection.

- `Components::CommercialInquiryForm` →
  `Views::Controllers::Images::Emails::Form`. Used only by
  `Images::EmailsController` (`#new` HTML + turbo_stream ModalTurboForm).
- `Components::ImageVoteAnonymityForm` →
  `Views::Controllers::Images::Votes::Anonymity::Form`. Used only by
  `Images::Votes::AnonymityController#edit`.

Staying in `app/components/` (audit was imprecise — Phlex kit
invocations don't show up in `Components::<Name>` greps):

- `ImageOriginalLink` — rendered from `images/show` AND
  `Components::LightboxCaption` (the latter is reusable, so the link
  has to be too). Added a previously-missing component test
  (`test/components/image_original_link_test.rb`) to lock its
  contract — the component was at 100% coverage via downstream views
  but lacked a dedicated test.
- `ImageVoteInterface` — rendered from `images/show` (ImagesController)
  AND `images/votes/_update.erb` (Images::VotesController turbo_stream
  response). Two controllers → reusable, same call as
  `OccurrenceProjectsForm`.

Cleanup-in-scope (fix-on-touch per testing rule):

- `image_vote_anonymity_form_test.rb`: replaced two forbidden
  `assert_html(html, "body", text: ...)` + `assert_includes(html, "5")`
  patterns with `<p strong>` text extraction via Nokogiri.
- `commercial_inquiry_form_test.rb`: replaced
  `assert_html(html, "body", text: label)` + `assert_includes(html, message)`
  with `label[for='email_message']` + `textarea[name='email[message]']`
  selectors carrying `text:`.

54 controller tests + 25 component/view tests pass, lint clean.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

48 of 48 new or added lines in 2 files covered. (100.0%)

38968 of 40423 relevant lines covered (96.4%)

668.75 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26402358731.1 25 May 2026 01:18PM UTC 1009
96.4
GitHub Action Run
Source Files on build 26402358731
  • Tree
  • List 1009
  • Changed 1
  • Source Changed 1
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26402358731
  • 0006ac30 on github
  • Prev Build on main (#26402355824)
  • Next Build on main (#26403828925)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc