Files
grecia/spec/form_builders/translatable_form_builder_spec.rb
Javi Martín d18c627392 Add and apply Layout/EmptyLinesAfterModuleInclusion rule
This rule was added in rubocop 1.79. We were inconsistent about it, so
we're adding it to get more consistency.
2025-11-05 14:27:12 +01:00

48 lines
1.1 KiB
Ruby

require "rails_helper"
describe TranslatableFormBuilder do
before do
dummy_banner = Class.new(ApplicationRecord) do
def self.name
"DummyBanner"
end
self.table_name = "banners"
translates :title, touch: true
include Globalizable
has_many :translations, class_name: "DummyBanner::Translation", foreign_key: "banner_id"
end
stub_const("DummyBanner", dummy_banner)
end
let(:builder) do
TranslatableFormBuilder.new(:dummy, DummyBanner.new, ApplicationController.new.view_context, {})
end
describe "#translatable_fields" do
it "renders fields for the enabled locales when the translation interface is enabled" do
Setting["feature.translation_interface"] = true
Setting["locales.enabled"] = "en fr"
builder.translatable_fields do |translations_builder|
render translations_builder.text_field :title
end
expect(page).to have_field "Title", count: 2
end
end
attr_reader :content
def render(content)
@content ||= ""
@content << content
end
def page
Capybara::Node::Simple.new(content)
end
end