Fix found Hound violations
This commit is contained in:
@@ -11,9 +11,9 @@ module RemotelyTranslatable
|
|||||||
end
|
end
|
||||||
|
|
||||||
def remote_translation_for(resource)
|
def remote_translation_for(resource)
|
||||||
{ 'remote_translatable_id' => resource.id.to_s,
|
{ "remote_translatable_id" => resource.id.to_s,
|
||||||
'remote_translatable_type' => resource.class.to_s,
|
"remote_translatable_type" => resource.class.to_s,
|
||||||
'locale' => I18n.locale }
|
"locale" => I18n.locale }
|
||||||
end
|
end
|
||||||
|
|
||||||
def translation_empty?(resource)
|
def translation_empty?(resource)
|
||||||
|
|||||||
@@ -8,25 +8,27 @@ class RemoteTranslationsController < ApplicationController
|
|||||||
@remote_translations.each do |remote_translation|
|
@remote_translations.each do |remote_translation|
|
||||||
RemoteTranslation.create(remote_translation) unless translations_enqueued?(remote_translation)
|
RemoteTranslation.create(remote_translation) unless translations_enqueued?(remote_translation)
|
||||||
end
|
end
|
||||||
redirect_to request.referer, notice: t('remote_translations.create.enqueue_remote_translation')
|
redirect_to request.referer, notice: t("remote_translations.create.enqueue_remote_translation")
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def remote_translations_params
|
def remote_translations_params
|
||||||
params.permit(:remote_translations)
|
params.permit(:remote_translations)
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_remote_translations
|
def set_remote_translations
|
||||||
decoded_remote_translations = ActiveSupport::JSON.decode(remote_translations_params["remote_translations"])
|
remote_translations = remote_translations_params["remote_translations"]
|
||||||
@remote_translations = decoded_remote_translations.map{ |remote_translation|
|
decoded_remote_translations = ActiveSupport::JSON.decode(remote_translations)
|
||||||
remote_translation.slice("remote_translatable_id","remote_translatable_type","locale")
|
@remote_translations = decoded_remote_translations.map{ |remote_translation|
|
||||||
}
|
remote_translation.slice("remote_translatable_id",
|
||||||
end
|
"remote_translatable_type",
|
||||||
|
"locale")
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def translations_enqueued?(remote_translation)
|
||||||
def translations_enqueued?(remote_translation)
|
RemoteTranslation.remote_translation_enqueued?(remote_translation)
|
||||||
RemoteTranslation.remote_translation_enqueued?(remote_translation)
|
end
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ class RemoteTranslationsCaller
|
|||||||
else
|
else
|
||||||
remote_translation.update(error_message: resource.errors.messages)
|
remote_translation.update(error_message: resource.errors.messages)
|
||||||
end
|
end
|
||||||
|
resource.save
|
||||||
end
|
end
|
||||||
|
|
||||||
def resource
|
def resource
|
||||||
|
|||||||
@@ -3,11 +3,12 @@ require "rails_helper"
|
|||||||
describe RemoteTranslationsController do
|
describe RemoteTranslationsController do
|
||||||
|
|
||||||
describe "POST create" do
|
describe "POST create" do
|
||||||
|
let(:debate) { create(:debate) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
@debate = create(:debate)
|
@remote_translations_params = [{ remote_translatable_id: debate.id.to_s,
|
||||||
@remote_translations_params = [{ remote_translatable_id: @debate.id.to_s,
|
remote_translatable_type: debate.class.to_s,
|
||||||
remote_translatable_type: @debate.class.to_s,
|
locale: :es }].to_json
|
||||||
locale: :es }].to_json
|
|
||||||
allow(controller.request).to receive(:referer).and_return("any_path")
|
allow(controller.request).to receive(:referer).and_return("any_path")
|
||||||
Delayed::Worker.delay_jobs = true
|
Delayed::Worker.delay_jobs = true
|
||||||
end
|
end
|
||||||
@@ -23,7 +24,7 @@ describe RemoteTranslationsController do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "create remote translation when same remote translation with error_message is enqueued" do
|
it "create remote translation when same remote translation with error_message is enqueued" do
|
||||||
create(:remote_translation, remote_translatable: @debate, locale: :es, error_message: "Has errors")
|
create(:remote_translation, remote_translatable: debate, locale: :es, error_message: "Has errors")
|
||||||
|
|
||||||
post :create, remote_translations: @remote_translations_params
|
post :create, remote_translations: @remote_translations_params
|
||||||
|
|
||||||
@@ -31,7 +32,7 @@ describe RemoteTranslationsController do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "not create remote translation when same remote translation is enqueued" do
|
it "not create remote translation when same remote translation is enqueued" do
|
||||||
create(:remote_translation, remote_translatable: @debate, locale: :es)
|
create(:remote_translation, remote_translatable: debate, locale: :es)
|
||||||
|
|
||||||
post :create, remote_translations: @remote_translations_params
|
post :create, remote_translations: @remote_translations_params
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
require 'rails_helper'
|
require "rails_helper"
|
||||||
|
|
||||||
describe RemoteTranslationsCaller do
|
describe RemoteTranslationsCaller do
|
||||||
|
|
||||||
@@ -6,18 +6,18 @@ describe RemoteTranslationsCaller do
|
|||||||
RemoteTranslation.skip_callback(:create, :after, :enqueue_remote_translation)
|
RemoteTranslation.skip_callback(:create, :after, :enqueue_remote_translation)
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#call' do
|
describe "#call" do
|
||||||
|
|
||||||
context 'Debates' do
|
context "Debates" do
|
||||||
|
|
||||||
let(:debate) { create(:debate) }
|
let(:debate) { create(:debate) }
|
||||||
let(:remote_translation) { create(:remote_translation,
|
let(:remote_translation) { create(:remote_translation,
|
||||||
remote_translatable: debate, locale: :es) }
|
remote_translatable: debate, locale: :es) }
|
||||||
let(:remote_translation_caller) { described_class.new(remote_translation) }
|
let(:remote_translation_caller) { described_class.new(remote_translation) }
|
||||||
|
|
||||||
it 'returns the resource with new translation persisted' do
|
it "returns the resource with new translation persisted" do
|
||||||
microsoft_translate_client_response = ["Título traducido", "Descripción traducida"]
|
response = ["Título traducido", "Descripción traducida"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -25,8 +25,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "when new translation locale is distinct to default_locale skip length validations" do
|
it "when new translation locale is distinct to default_locale skip length validations" do
|
||||||
microsoft_translate_client_response = ["TT", "Descripción traducida"]
|
response = ["TT", "Descripción traducida"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -36,8 +36,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "when new translation locale is distinct to default_locale not skip presence validations" do
|
it "when new translation locale is distinct to default_locale not skip presence validations" do
|
||||||
microsoft_translate_client_response = ["", "Descripción traducida"]
|
response = ["", "Descripción traducida"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -47,8 +47,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "destroy remote translation instance" do
|
it "destroy remote translation instance" do
|
||||||
microsoft_translate_client_response = ["Título traducido", "Descripción traducida"]
|
response = ["Título traducido", "Descripción traducida"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -56,16 +56,17 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Proposals' do
|
context "Proposals" do
|
||||||
|
|
||||||
let!(:proposal) { create(:proposal) }
|
let!(:proposal) { create(:proposal) }
|
||||||
let(:remote_translation) { create(:remote_translation,
|
let(:remote_translation) { create(:remote_translation,
|
||||||
remote_translatable: proposal, locale: :es) }
|
remote_translatable: proposal, locale: :es) }
|
||||||
let(:remote_translation_caller) { described_class.new(remote_translation) }
|
let(:remote_translation_caller) { described_class.new(remote_translation) }
|
||||||
|
|
||||||
it 'returns the resource with new translation persisted' do
|
it "returns the resource with new translation persisted" do
|
||||||
microsoft_translate_client_response = ["Título traducido", "Descripción traducida", "Pregunta traducida", "Resumen traducido", nil]
|
response = ["Título traducido", "Descripción traducida", "Pregunta traducida",
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
"Resumen traducido", nil]
|
||||||
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -73,8 +74,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "when new translation locale is distinct to default_locale skip lenght validations" do
|
it "when new translation locale is distinct to default_locale skip lenght validations" do
|
||||||
microsoft_translate_client_response = ["TT", "Descripción traducida", "Pregunta traducida", "Resumen traducido", nil]
|
response = ["TT", "Descripción traducida", "Pregunta traducida", "Resumen traducido", nil]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -84,8 +85,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "when new translation locale is distinct to default_locale do not skip presence validations" do
|
it "when new translation locale is distinct to default_locale do not skip presence validations" do
|
||||||
microsoft_translate_client_response = ["", "Descripción traducida", "Pregunta traducida", "Resumen traducido", nil]
|
response = ["", "Descripción traducida", "Pregunta traducida", "Resumen traducido", nil]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -95,8 +96,9 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "destroy remote translation instance" do
|
it "destroy remote translation instance" do
|
||||||
microsoft_translate_client_response = ["Título traducido", "Descripción traducida", "Pregunta traducida", "Resumen traducido", nil]
|
response = ["Título traducido", "Descripción traducida", "Pregunta traducida",
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
"Resumen traducido", nil]
|
||||||
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -104,7 +106,7 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Budget Investments' do
|
context "Budget Investments" do
|
||||||
|
|
||||||
let(:budget_investment) { create(:budget_investment) }
|
let(:budget_investment) { create(:budget_investment) }
|
||||||
let(:remote_translation) { create(:remote_translation,
|
let(:remote_translation) { create(:remote_translation,
|
||||||
@@ -112,9 +114,9 @@ describe RemoteTranslationsCaller do
|
|||||||
locale: :es) }
|
locale: :es) }
|
||||||
let(:remote_translation_caller) { described_class.new(remote_translation) }
|
let(:remote_translation_caller) { described_class.new(remote_translation) }
|
||||||
|
|
||||||
it 'returns the resource with new translation persisted' do
|
it "returns the resource with new translation persisted" do
|
||||||
microsoft_translate_client_response = ["Título traducido", "Descripción traducida"]
|
response = ["Título traducido", "Descripción traducida"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -122,8 +124,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "when new translation locale is distinct to default_locale skip lenght validations" do
|
it "when new translation locale is distinct to default_locale skip lenght validations" do
|
||||||
microsoft_translate_client_response = ["TT", "Descripción traducida"]
|
response = ["TT", "Descripción traducida"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -133,8 +135,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "when new translation locale is distinct to default_locale not skip presence validations" do
|
it "when new translation locale is distinct to default_locale not skip presence validations" do
|
||||||
microsoft_translate_client_response = ["", "Descripción traducida"]
|
response = ["", "Descripción traducida"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -144,8 +146,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "destroy remote translation instance" do
|
it "destroy remote translation instance" do
|
||||||
microsoft_translate_client_response = ["Título traducido", "Descripción traducida"]
|
response = ["Título traducido", "Descripción traducida"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -153,16 +155,16 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'Comments' do
|
context "Comments" do
|
||||||
|
|
||||||
let(:comment) { create(:comment) }
|
let(:comment) { create(:comment) }
|
||||||
let(:remote_translation) { create(:remote_translation,
|
let(:remote_translation) { create(:remote_translation,
|
||||||
remote_translatable: comment, locale: :es) }
|
remote_translatable: comment, locale: :es) }
|
||||||
let(:remote_translation_caller) { described_class.new(remote_translation) }
|
let(:remote_translation_caller) { described_class.new(remote_translation) }
|
||||||
|
|
||||||
it 'returns the resource with new translation persisted' do
|
it "returns the resource with new translation persisted" do
|
||||||
microsoft_translate_client_response = ["Body traducido"]
|
response = ["Body traducido"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -170,8 +172,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "when new translation locale is distinct to default_locale skip lenght validations" do
|
it "when new translation locale is distinct to default_locale skip lenght validations" do
|
||||||
microsoft_translate_client_response = ["BT"]
|
response = ["BT"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -181,8 +183,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "when new translation locale is distinct to default_locale not skip presence validations" do
|
it "when new translation locale is distinct to default_locale not skip presence validations" do
|
||||||
microsoft_translate_client_response = [""]
|
response = [""]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
@@ -192,8 +194,8 @@ describe RemoteTranslationsCaller do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "destroy remote translation instance" do
|
it "destroy remote translation instance" do
|
||||||
microsoft_translate_client_response = ["Body traducido"]
|
response = ["Body traducido"]
|
||||||
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(microsoft_translate_client_response)
|
expect_any_instance_of(MicrosoftTranslateClient).to receive(:call).and_return(response)
|
||||||
|
|
||||||
remote_translation_caller.call
|
remote_translation_caller.call
|
||||||
|
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ describe RemoteTranslation do
|
|||||||
expect(remote_translation).not_to be_valid
|
expect(remote_translation).not_to be_valid
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#enqueue_remote_translation' do
|
describe "#enqueue_remote_translation" do
|
||||||
|
|
||||||
it 'after create enqueue Delayed Job' do
|
it "after create enqueue Delayed Job" do
|
||||||
Delayed::Worker.delay_jobs = true
|
Delayed::Worker.delay_jobs = true
|
||||||
|
|
||||||
expect { remote_translation.save }.to change { Delayed::Job.count }.by(1)
|
expect { remote_translation.save }.to change { Delayed::Job.count }.by(1)
|
||||||
|
|||||||
Reference in New Issue
Block a user