mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 08:49:06 +08:00
FIX: show proper error message when no user selected for private message
This commit is contained in:
parent
24a49daa71
commit
53809d526c
|
@ -13,7 +13,7 @@ module HasErrors
|
|||
end
|
||||
|
||||
def rollback_with!(obj, error)
|
||||
obj.errors[:base] << error
|
||||
obj.errors.add(:base, error)
|
||||
rollback_from_errors!(obj)
|
||||
end
|
||||
|
||||
|
|
|
@ -317,8 +317,7 @@ class PostCreator
|
|||
topic_creator = TopicCreator.new(@user, guardian, @opts)
|
||||
@topic = topic_creator.create
|
||||
rescue ActiveRecord::Rollback
|
||||
add_errors_from(topic_creator)
|
||||
return
|
||||
rollback_from_errors!(topic_creator)
|
||||
end
|
||||
@post.topic_id = @topic.id
|
||||
@post.topic = @topic
|
||||
|
|
|
@ -45,10 +45,10 @@ describe HasErrors do
|
|||
it "triggers a rollback" do
|
||||
|
||||
expect(-> {
|
||||
error_test.rollback_with!(invalid_topic, :custom_error)
|
||||
error_test.rollback_with!(invalid_topic, :too_many_users)
|
||||
}).to raise_error(ActiveRecord::Rollback)
|
||||
expect(error_test.errors).to be_present
|
||||
expect(error_test.errors[:base]).to include(:custom_error)
|
||||
expect(error_test.errors[:base]).to include("You can only send warnings to one user at a time.")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user