Skip to content

Parameters not coerced when visiting a Lookbook preview in a Rails system test #640

Description

@camertron

Describe the bug

Hey there 👋 It's me again! Just popping in to describe some unexpected behavior around param coercion. My pair and I noticed today that visiting a Lookbook preview in a system test does not result in properly coerced parameters. We're visiting like this:

visit "/page?my_param=foo"

In the preview code, the #preview_name method has an @param annotation for the my_param parameter that indicates it should be coerced to a symbol. Unfortunately, the coercion does not occur:

# @param [Symbol] select [foo, bar]
def preview_name(my_param: :foo)
  # my_param is a string here
  ...
end

To Reproduce

Steps to reproduce the behavior:

  1. Create a preview as described above.
  2. Render that preview in a Rails system test.
  3. Observe that parameters are not coerced.

Expected behavior

I expect the my_param parameter to be of type Symbol instead of String.

Version numbers

Please complete the following information:

  • Lookbook: 2.3.2
  • ViewComponent: 3.13.0
  • Rails: 7.1.3
  • Ruby: 3.3.3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions