Files
nairobi/spec/components/admin/settings/table_component_spec.rb
Senén Rodero Rodríguez 6a64f38d17 Use admin table settings component to render featured settings
Now, with the same template we can render all kind of settings.
2024-01-25 18:29:38 +01:00

67 lines
2.4 KiB
Ruby

require "rails_helper"
describe Admin::Settings::TableComponent do
describe "#key_header" do
it "returns correct table header for the setting name colums" do
settings = Setting.limit(2)
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: "feature"
expect(page).to have_content("Feature")
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: "setting"
expect(page).to have_content("Setting")
setting_name = "remote_census_general_name"
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: setting_name
expect(page).to have_content("General Information")
setting_name = "remote_census_request_name"
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: setting_name
expect(page).to have_content("Request Data")
setting_name = "remote_census_response_name"
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: setting_name
expect(page).to have_content("Response Data")
end
end
describe "#value_header" do
it "returns correct table header for the setting interface column" do
settings = Setting.limit(2)
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: "feature"
expect(page).to have_content("Enabled")
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: "setting"
expect(page).to have_content("Value")
end
end
describe "#table_class" do
it "returns a CSS class when all given settings are features, otherwise returns a mixed class" do
settings = [Setting.find_by(key: "feature.map"), Setting.find_by(key: "process.debates")]
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: "feature"
expect(page).to have_css(".featured-settings-table")
expect(page).not_to have_css(".mixed-settings-table")
end
it "returns a CSS class when all given settings are features, otherwise returns a mixed class" do
settings = [Setting.find_by(key: "feature.map"), Setting.find_by(key: "mailer_from_name")]
render_inline Admin::Settings::TableComponent.new settings: settings, setting_name: "feature"
expect(page).not_to have_css(".featured-settings-table")
expect(page).to have_css(".mixed-settings-table")
end
end
end