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