diff --git a/spec/lib/post_creator_spec.rb b/spec/lib/post_creator_spec.rb index b125caac8a0..1f497b7a9f8 100644 --- a/spec/lib/post_creator_spec.rb +++ b/spec/lib/post_creator_spec.rb @@ -41,9 +41,9 @@ RSpec.describe PostCreator do expect(post.wiki).to eq(true) end - it "can be created with a hidden reason" do + it "creates post with a hidden reason for staff user" do hri = Post.hidden_reasons[:flag_threshold_reached] - post = PostCreator.create(user, basic_topic_params.merge(hidden_reason_id: hri)) + post = PostCreator.create(admin, basic_topic_params.merge(hidden_reason_id: hri)) expect(post.hidden).to eq(true) expect(post.hidden_at).to be_present expect(post.hidden_reason_id).to eq(hri) @@ -52,6 +52,16 @@ RSpec.describe PostCreator do expect(post.user.post_count).to eq(0) end + it "fails to create post with a hidden reason for non-staff user" do + hri = Post.hidden_reasons[:flag_threshold_reached] + + expect do + post = PostCreator.create(user, basic_topic_params.merge(hidden_reason_id: hri)) + + expect(post).to be_nil + end.not_to change { Post.count } + end + it "ensures the user can create the topic" do Guardian.any_instance.expects(:can_create?).with(Topic, nil).returns(false) expect { creator.create }.to raise_error(Discourse::InvalidAccess)