diff --git a/app/components/avo/fields/radio_field/edit_component.html.erb b/app/components/avo/fields/radio_field/edit_component.html.erb index cd84ac7316..b2973ff799 100644 --- a/app/components/avo/fields/radio_field/edit_component.html.erb +++ b/app/components/avo/fields/radio_field/edit_component.html.erb @@ -2,8 +2,8 @@
<% @field.options.each do |key, value| %>
- <%= form.radio_button @field.id, key %> - <%= form.label @field.id, value, value: value %> + <%= form.radio_button @field.id, key, checked: (@field.value.to_s == key.to_s) %> + <%= form.label @field.id, value, value: key %>
<% end %>
diff --git a/spec/dummy/app/avo/actions/sub/dummy_action.rb b/spec/dummy/app/avo/actions/sub/dummy_action.rb index 6f62505faa..f103b7d7cf 100644 --- a/spec/dummy/app/avo/actions/sub/dummy_action.rb +++ b/spec/dummy/app/avo/actions/sub/dummy_action.rb @@ -13,7 +13,7 @@ class Avo::Actions::Sub::DummyAction < Avo::BaseAction end def fields - field :size, as: :radio, options: {small: "Small Option", medium: "Medium Option", large: "Large Option"} + field :size, as: :radio, options: {small: "Small Option", medium: "Medium Option", large: "Large Option"}, default: :medium TestBuddy.hi("Dummy action fields") field :keep_modal_open, as: :boolean field :persistent_text, as: :text diff --git a/spec/features/avo/radio_field_spec.rb b/spec/features/avo/radio_field_spec.rb index b8182deeed..eea6df7f31 100644 --- a/spec/features/avo/radio_field_spec.rb +++ b/spec/features/avo/radio_field_spec.rb @@ -75,7 +75,12 @@ expect(page).to have_text("Small Option") expect(page).to have_text("Medium Option") + expect(page).to have_checked_field("fields_size_medium") expect(page).to have_text("Large Option") + + find("label[for='fields_size_large']").click + expect(page).not_to have_checked_field("fields_size_medium") + expect(page).to have_checked_field("fields_size_large") end end end