Files
nairobi/spec/controllers/concerns/remotely_translatable_spec.rb
taitus 2f500a6b56 Fix detect_remote_translations for Legislation::Proposal
Legislation::Proposal is not Globalize model but use CommentableActions and try
detect remote translations. Add new condition to discard Non Globalize models.
This fix is necessary since the following commit was included: c1f3a4ad.
2020-02-26 16:47:13 +01:00

78 lines
2.6 KiB
Ruby

require "rails_helper"
include RemotelyTranslatable
describe RemotelyTranslatable do
before do
Setting["feature.remote_translations"] = true
allow(Rails.application.secrets).to receive(:microsoft_api_key).and_return("123")
end
describe "#detect_remote_translations" do
describe "Should detect remote_translations" do
it "When collections and featured_proposals are not defined in current locale" do
proposals = create_list(:proposal, 3)
featured_proposals = create_featured_proposals
I18n.with_locale(:es) do
expect(detect_remote_translations(proposals, featured_proposals).count).to eq 6
end
end
it "When we have nil as argument and collections are not defined in current locale" do
proposals = create_list(:proposal, 3)
I18n.with_locale(:es) do
expect(detect_remote_translations(proposals, nil).count).to eq 3
end
end
it "When we have [] as argument and collections are not defined in current locale" do
proposals = create_list(:proposal, 3)
I18n.with_locale(:es) do
expect(detect_remote_translations(proposals, []).count).to eq 3
end
end
it "When widget feeds are not defined in current locale" do
create_list(:proposal, 3)
create_list(:debate, 3)
create_list(:legislation_process, 3)
create(:widget_feed, kind: "proposals")
create(:widget_feed, kind: "debates")
create(:widget_feed, kind: "processes")
widget_feeds = Widget::Feed.active
I18n.with_locale(:es) do
expect(detect_remote_translations(widget_feeds).count).to eq 9
end
end
end
it "When api key has not been set in secrets should not detect remote_translations" do
allow(Rails.application.secrets).to receive(:microsoft_api_key).and_return(nil)
proposal = create(:proposal)
comment = create(:comment, commentable: proposal)
I18n.with_locale(:es) do
expect(detect_remote_translations([proposal, comment])).to eq []
end
end
it "When defined in current locale should not detect remote_translations" do
proposal = create(:proposal)
comment = create(:comment, commentable: proposal)
expect(detect_remote_translations([proposal, comment])).to eq []
end
it "When resource class is not translatable should not detect remote_translations" do
legislation_proposal = create(:legislation_proposal)
I18n.with_locale(:es) do
expect(detect_remote_translations([legislation_proposal])).to eq []
end
end
end
end