Prefabricated moderator at the top level

This commit is contained in:
Daniel Waterworth
2019-05-08 10:06:54 +01:00
committed by Robin Ward
parent a473a56dc2
commit cef14d81ac

View File

@ -5,12 +5,13 @@ require 'rails_helper'
RSpec.describe TopicsController do RSpec.describe TopicsController do
fab!(:topic) { Fabricate(:topic) } fab!(:topic) { Fabricate(:topic) }
fab!(:user) { Fabricate(:user) } fab!(:user) { Fabricate(:user) }
fab!(:moderator) { Fabricate(:moderator) }
describe '#wordpress' do describe '#wordpress' do
let!(:user) { sign_in(Fabricate(:moderator)) } let!(:user) { sign_in(moderator) }
let(:p1) { Fabricate(:post, user: user) } let(:p1) { Fabricate(:post, user: moderator) }
let(:topic) { p1.topic } let(:topic) { p1.topic }
let!(:p2) { Fabricate(:post, topic: topic, user: user) } let!(:p2) { Fabricate(:post, topic: topic, user: moderator) }
it "returns the JSON in the format our wordpress plugin needs" do it "returns the JSON in the format our wordpress plugin needs" do
SiteSetting.external_system_avatars_enabled = false SiteSetting.external_system_avatars_enabled = false
@ -59,7 +60,6 @@ RSpec.describe TopicsController do
end end
describe 'moving to a new topic' do describe 'moving to a new topic' do
fab!(:moderator) { Fabricate(:moderator) }
let(:p1) { Fabricate(:post, user: user, post_number: 1) } let(:p1) { Fabricate(:post, user: user, post_number: 1) }
let(:p2) { Fabricate(:post, user: user, post_number: 2, topic: p1.topic) } let(:p2) { Fabricate(:post, user: user, post_number: 2, topic: p1.topic) }
let!(:topic) { p1.topic } let!(:topic) { p1.topic }
@ -157,7 +157,7 @@ RSpec.describe TopicsController do
describe "moving replied posts" do describe "moving replied posts" do
context 'success' do context 'success' do
it "moves the child posts too" do it "moves the child posts too" do
user = sign_in(Fabricate(:moderator)) user = sign_in(moderator)
p1 = Fabricate(:post, topic: topic, user: user) p1 = Fabricate(:post, topic: topic, user: user)
p2 = Fabricate(:post, topic: topic, user: user, reply_to_post_number: p1.post_number) p2 = Fabricate(:post, topic: topic, user: user, reply_to_post_number: p1.post_number)
PostReply.create(post_id: p1.id, reply_id: p2.id) PostReply.create(post_id: p1.id, reply_id: p2.id)
@ -183,7 +183,7 @@ RSpec.describe TopicsController do
end end
describe 'moving to an existing topic' do describe 'moving to an existing topic' do
let!(:user) { sign_in(Fabricate(:moderator)) } let!(:user) { sign_in(moderator) }
let(:p1) { Fabricate(:post, user: user) } let(:p1) { Fabricate(:post, user: user) }
let(:topic) { p1.topic } let(:topic) { p1.topic }
fab!(:dest_topic) { Fabricate(:topic) } fab!(:dest_topic) { Fabricate(:topic) }
@ -245,7 +245,6 @@ RSpec.describe TopicsController do
describe 'moving to a new message' do describe 'moving to a new message' do
fab!(:trust_level_4) { Fabricate(:trust_level_4) } fab!(:trust_level_4) { Fabricate(:trust_level_4) }
fab!(:moderator) { Fabricate(:moderator) }
let!(:message) { Fabricate(:private_message_topic) } let!(:message) { Fabricate(:private_message_topic) }
let!(:p1) { Fabricate(:post, user: user, post_number: 1, topic: message) } let!(:p1) { Fabricate(:post, user: user, post_number: 1, topic: message) }
let!(:p2) { Fabricate(:post, user: user, post_number: 2, topic: message) } let!(:p2) { Fabricate(:post, user: user, post_number: 2, topic: message) }
@ -385,7 +384,6 @@ RSpec.describe TopicsController do
end end
describe 'merging into another topic' do describe 'merging into another topic' do
fab!(:moderator) { Fabricate(:moderator) }
let(:p1) { Fabricate(:post, user: user) } let(:p1) { Fabricate(:post, user: user) }
let(:topic) { p1.topic } let(:topic) { p1.topic }
@ -419,7 +417,6 @@ RSpec.describe TopicsController do
end end
describe 'merging into another message' do describe 'merging into another message' do
fab!(:moderator) { Fabricate(:moderator) }
fab!(:trust_level_4) { Fabricate(:trust_level_4) } fab!(:trust_level_4) { Fabricate(:trust_level_4) }
let(:message) { Fabricate(:private_message_topic, user: user) } let(:message) { Fabricate(:private_message_topic, user: user) }
let!(:p1) { Fabricate(:post, topic: message, user: trust_level_4) } let!(:p1) { Fabricate(:post, topic: message, user: trust_level_4) }
@ -476,7 +473,7 @@ RSpec.describe TopicsController do
describe 'forbidden to moderators' do describe 'forbidden to moderators' do
before do before do
sign_in(Fabricate(:moderator)) sign_in(moderator)
end end
it 'correctly denies' do it 'correctly denies' do
post "/t/111/change-owner.json", params: { post "/t/111/change-owner.json", params: {
@ -579,7 +576,7 @@ RSpec.describe TopicsController do
end end
describe 'changing timestamps' do describe 'changing timestamps' do
let!(:moderator) { sign_in(Fabricate(:moderator)) } before { sign_in(moderator) }
let(:old_timestamp) { Time.zone.now } let(:old_timestamp) { Time.zone.now }
let(:new_timestamp) { old_timestamp - 1.day } let(:new_timestamp) { old_timestamp - 1.day }
let!(:topic) { Fabricate(:topic, created_at: old_timestamp) } let!(:topic) { Fabricate(:topic, created_at: old_timestamp) }
@ -653,7 +650,6 @@ RSpec.describe TopicsController do
end end
describe 'when logged in' do describe 'when logged in' do
fab!(:moderator) { Fabricate(:moderator) }
let(:topic) { Fabricate(:topic) } let(:topic) { Fabricate(:topic) }
before do before do
sign_in(moderator) sign_in(moderator)
@ -821,7 +817,6 @@ RSpec.describe TopicsController do
end end
describe 'when logged in' do describe 'when logged in' do
fab!(:moderator) { Fabricate(:moderator) }
let(:topic) { Fabricate(:topic, user: user, deleted_at: Time.now, deleted_by: moderator) } let(:topic) { Fabricate(:topic, user: user, deleted_at: Time.now, deleted_by: moderator) }
let!(:post) { Fabricate(:post, user: user, topic: topic, post_number: 1, deleted_at: Time.now, deleted_by: moderator) } let!(:post) { Fabricate(:post, user: user, topic: topic, post_number: 1, deleted_at: Time.now, deleted_by: moderator) }
@ -857,7 +852,6 @@ RSpec.describe TopicsController do
end end
describe 'when logged in' do describe 'when logged in' do
fab!(:moderator) { Fabricate(:moderator) }
let(:topic) { Fabricate(:topic, user: user, created_at: 48.hours.ago) } let(:topic) { Fabricate(:topic, user: user, created_at: 48.hours.ago) }
let!(:post) { Fabricate(:post, topic: topic, user: user, post_number: 1) } let!(:post) { Fabricate(:post, topic: topic, user: user, post_number: 1) }
@ -1334,7 +1328,7 @@ RSpec.describe TopicsController do
context 'moderator' do context 'moderator' do
before do before do
sign_in(Fabricate(:moderator)) sign_in(moderator)
end end
expected = { expected = {
@ -2414,7 +2408,6 @@ RSpec.describe TopicsController do
fab!(:user2) { Fabricate(:user) } fab!(:user2) { Fabricate(:user) }
let(:pm) { Fabricate(:private_message_topic, user: user) } let(:pm) { Fabricate(:private_message_topic, user: user) }
fab!(:moderator) { Fabricate(:moderator) }
let(:moderator_pm) { Fabricate(:private_message_topic, user: moderator) } let(:moderator_pm) { Fabricate(:private_message_topic, user: moderator) }
before do before do
@ -2535,7 +2528,6 @@ RSpec.describe TopicsController do
let(:group) { Fabricate(:group, messageable_level: 99) } let(:group) { Fabricate(:group, messageable_level: 99) }
let(:pm) { Fabricate(:private_message_topic, user: user) } let(:pm) { Fabricate(:private_message_topic, user: user) }
let(:moderator) { Fabricate(:moderator) }
let(:moderator_pm) { Fabricate(:private_message_topic, user: moderator) } let(:moderator_pm) { Fabricate(:private_message_topic, user: moderator) }
before do before do
@ -2583,7 +2575,6 @@ RSpec.describe TopicsController do
end end
context "as a moderator" do context "as a moderator" do
let(:moderator) { Fabricate(:moderator) }
before do before do
sign_in(moderator) sign_in(moderator)
end end
@ -2613,7 +2604,6 @@ RSpec.describe TopicsController do
let(:category) { Fabricate(:category) } let(:category) { Fabricate(:category) }
let(:topic) { Fabricate(:topic, category: shared_drafts_category, visible: false) } let(:topic) { Fabricate(:topic, category: shared_drafts_category, visible: false) }
let!(:post) { Fabricate(:post, topic: topic) } let!(:post) { Fabricate(:post, topic: topic) }
let(:moderator) { Fabricate(:moderator) }
it "fails for anonymous users" do it "fails for anonymous users" do
put "/t/#{topic.id}/publish.json", params: { destination_category_id: category.id } put "/t/#{topic.id}/publish.json", params: { destination_category_id: category.id }