Testing LiveComponent with JS Hook

I believe you would need to use something like Playwright to test the JS. But your code shouldn’t be getting that error IMO. The Elixir side of the code should be picking up your category_id since it doesn’t really care about the JS implementation.

It looks like the error is suggesting that the category_id field expects a list [], which is strange. Did you create the category_id field as an :array in your migration? I believe that a foreign key should be represented like this in your migration:

add :category_id, references(:categories, on_delete: :delete_all), null: false

If you don’t have this, you could create a new migration, or just edit the existing migration and run mix ecto.reset (which will completely reset the database for the project, be ye warned).