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.
78 lines
2.6 KiB
Ruby
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
|