diff --git a/app/views/admin/settings/_remote_census_configuration_tab.html.erb b/app/components/admin/settings/remote_census_tab_component.html.erb
similarity index 51%
rename from app/views/admin/settings/_remote_census_configuration_tab.html.erb
rename to app/components/admin/settings/remote_census_tab_component.html.erb
index bec6c59c1..5fee65e6e 100644
--- a/app/views/admin/settings/_remote_census_configuration_tab.html.erb
+++ b/app/components/admin/settings/remote_census_tab_component.html.erb
@@ -1,21 +1,18 @@
<% if feature?(:remote_census) %>
<%= t("admin.settings.index.remote_census.title") %>
- <% tab = "#tab-remote-census-configuration" %>
<%= render Admin::Settings::TableComponent.new(setting_name: "remote_census_general_name") do %>
- <%= render Admin::Settings::RowComponent.new("remote_census.general.endpoint", tab: tab) %>
+ <% general_settings.each do |key| %>
+ <%= render Admin::Settings::RowComponent.new(key, tab: tab) %>
+ <% end %>
<% end %>
<%= render Admin::Settings::TableComponent.new(setting_name: "remote_census_request_name") do %>
- <% %w[remote_census.request.method_name remote_census.request.structure
- remote_census.request.document_type remote_census.request.document_number
- remote_census.request.date_of_birth remote_census.request.postal_code].each do |key| %>
+ <% request_settings.each do |key| %>
<%= render Admin::Settings::RowComponent.new(key, tab: tab) %>
<% end %>
<% end %>
<%= render Admin::Settings::TableComponent.new(setting_name: "remote_census_response_name") do %>
- <% %w[remote_census.response.date_of_birth remote_census.response.postal_code
- remote_census.response.district remote_census.response.gender remote_census.response.name
- remote_census.response.surname remote_census.response.valid].each do |key| %>
+ <% response_settings.each do |key| %>
<%= render Admin::Settings::RowComponent.new(key, tab: tab) %>
<% end %>
<% end %>
diff --git a/app/components/admin/settings/remote_census_tab_component.rb b/app/components/admin/settings/remote_census_tab_component.rb
new file mode 100644
index 000000000..2fd4df6a7
--- /dev/null
+++ b/app/components/admin/settings/remote_census_tab_component.rb
@@ -0,0 +1,34 @@
+class Admin::Settings::RemoteCensusTabComponent < ApplicationComponent
+ def tab
+ "#tab-remote-census-configuration"
+ end
+
+ def general_settings
+ %w[
+ remote_census.general.endpoint
+ ]
+ end
+
+ def request_settings
+ %w[
+ remote_census.request.method_name
+ remote_census.request.structure
+ remote_census.request.document_type
+ remote_census.request.document_number
+ remote_census.request.date_of_birth
+ remote_census.request.postal_code
+ ]
+ end
+
+ def response_settings
+ %w[
+ remote_census.response.date_of_birth
+ remote_census.response.postal_code
+ remote_census.response.district
+ remote_census.response.gender
+ remote_census.response.name
+ remote_census.response.surname
+ remote_census.response.valid
+ ]
+ end
+end
diff --git a/app/views/admin/settings/index.html.erb b/app/views/admin/settings/index.html.erb
index cddc58f0d..f8397c9e5 100644
--- a/app/views/admin/settings/index.html.erb
+++ b/app/views/admin/settings/index.html.erb
@@ -27,7 +27,7 @@
- <%= render "remote_census_configuration_tab" %>
+ <%= render Admin::Settings::RemoteCensusTabComponent.new %>