mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 14:12:10 +08:00
FIX: Error if queued post not found while updating
This commit is contained in:
@ -20,6 +20,8 @@ class QueuedPostsController < ApplicationController
|
|||||||
def update
|
def update
|
||||||
qp = QueuedPost.where(id: params[:id]).first
|
qp = QueuedPost.where(id: params[:id]).first
|
||||||
|
|
||||||
|
return render_json_error I18n.t('queue.not_found') if qp.blank?
|
||||||
|
|
||||||
update_params = params[:queued_post]
|
update_params = params[:queued_post]
|
||||||
|
|
||||||
qp.raw = update_params[:raw] if update_params[:raw].present?
|
qp.raw = update_params[:raw] if update_params[:raw].present?
|
||||||
|
@ -264,6 +264,7 @@ en:
|
|||||||
|
|
||||||
queue:
|
queue:
|
||||||
delete_reason: "Deleted via post moderation queue"
|
delete_reason: "Deleted via post moderation queue"
|
||||||
|
not_found: "Post not found or already updated."
|
||||||
|
|
||||||
groups:
|
groups:
|
||||||
success:
|
success:
|
||||||
|
@ -31,6 +31,20 @@ describe QueuedPostsController do
|
|||||||
let!(:user) { log_in(:moderator) }
|
let!(:user) { log_in(:moderator) }
|
||||||
let(:qp) { Fabricate(:queued_post) }
|
let(:qp) { Fabricate(:queued_post) }
|
||||||
|
|
||||||
|
context 'not found' do
|
||||||
|
it 'returns json error' do
|
||||||
|
qp.destroy!
|
||||||
|
|
||||||
|
put :update, params: {
|
||||||
|
id: qp.id, queued_post: { state: 'approved' }
|
||||||
|
}, format: :json
|
||||||
|
|
||||||
|
expect(response.status).to eq(422)
|
||||||
|
|
||||||
|
expect(eval(response.body)).to eq(described_class.new.create_errors_json(I18n.t('queue.not_found')))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'approved' do
|
context 'approved' do
|
||||||
it 'updates the post to approved' do
|
it 'updates the post to approved' do
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user