Files
grecia/spec/controllers/remote_translation_controller_spec.rb
Javi Martín eb7a052207 Simplify tests using delayed_job
Among other advantages, now we can run these tests with
`rspec --tag delayed_jobs`.
2019-09-23 13:47:45 +02:00

45 lines
1.4 KiB
Ruby

require "rails_helper"
describe RemoteTranslationsController do
describe "POST create", :delay_jobs do
let(:debate) { create(:debate) }
before do
@remote_translations_params = [{ remote_translatable_id: debate.id.to_s,
remote_translatable_type: debate.class.to_s,
locale: :es }].to_json
request.env["HTTP_REFERER"] = "any_path"
end
it "create correctly remote translation" do
post :create, params: { remote_translations: @remote_translations_params }
expect(RemoteTranslation.count).to eq(1)
end
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")
post :create, params: { remote_translations: @remote_translations_params }
expect(RemoteTranslation.count).to eq(2)
end
it "not create remote translation when same remote translation is enqueued" do
create(:remote_translation, remote_translatable: debate, locale: :es)
post :create, params: { remote_translations: @remote_translations_params }
expect(RemoteTranslation.count).to eq(1)
end
it "redirect_to request referer after create" do
post :create, params: { remote_translations: @remote_translations_params }
expect(subject).to redirect_to("any_path")
end
end
end