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

MushroomObserver / mushroom-observer / 26460061360
96%

Build:
DEFAULT BRANCH: main
Ran 26 May 2026 04:10PM UTC
Jobs 1
Files 1009
Run time 3min
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

26 May 2026 04:06PM UTC coverage: 96.42% (+0.001%) from 96.419%
26460061360

push

github

web-flow
Move 3 single-purpose forms from components/ to views/controllers/ (#4365)

* Move three single-purpose forms from components/ to views/controllers/

Per .claude/rules/phlex_conversions.md, forms that only render for a
specific controller (or controller tree) belong under
`app/views/controllers/<controller>/form.rb`. The components/ folder
is reserved for genuinely reusable building blocks. Three forms were
violating that rule:

- `Components::DescriptionForm` →
  `Views::Controllers::Descriptions::Form`
  Top-level `descriptions/` namespace because both
  `Names::DescriptionsController` and `Locations::DescriptionsController`
  render it. The explicit form-id override
  (`name_description_form` / `location_description_form`) is
  preserved — the auto-derived `description_form` would lose the
  name-vs-location distinction the controllers' tabs and tests
  rely on.

- `Components::ExternalLinkForm` →
  `Views::Controllers::Observations::ExternalLinks::Form`
  Only rendered by `Observations::ExternalLinksController` (both
  inline and via `ModalTurboForm`, which auto-resolves from
  `controller_path` — no caller-side change needed there). Form id
  follows the views_controller_form_id derivation:
  `external_link_form` → `observation_external_link_form`. Updated
  the two `assert_select` calls in the controller test.

- `Components::OccurrenceProjectsForm` →
  `Views::Controllers::Occurrences::Projects::Form`
  Renders inside the auto-opening confirmation modal on the
  occurrence new/edit pages and field_slips new/edit pages, all
  posting to `Occurrences::ProjectsController#update` (or
  `OccurrencesController#create`). No external form-id references —
  the modal targets a separate `modal_identifier`.

Each form's component test moves with it
(`test/views/controllers/...`) and uses unqualified sibling
references (`Form.new(...)`) inside its `module` block.

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

* Re-queue CI past tran... (continued)

228 of 228 new or added lines in 5 files covered. (100.0%)

38995 of 40443 relevant lines covered (96.42%)

667.03 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26460061360.1 26 May 2026 04:10PM UTC 1009
96.42
GitHub Action Run
Source Files on build 26460061360
  • Tree
  • List 1009
  • Changed 5
  • Source Changed 5
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26460061360
  • 6691c8ea on github
  • Prev Build on main (#26459747281)
  • Next Build on main (#26460067813)
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