Use prefabricated user

This commit is contained in:
Daniel Waterworth 2019-05-06 16:18:34 +01:00 committed by Robin Ward
parent 86372a94d5
commit f984c1740f

View File

@ -3,7 +3,6 @@
require 'rails_helper' require 'rails_helper'
shared_examples 'finding and showing post' do shared_examples 'finding and showing post' do
fab!(:user) { Fabricate(:user) }
fab!(:post) { Fabricate(:post, user: user) } fab!(:post) { Fabricate(:post, user: user) }
it "ensures the user can't see the post" do it "ensures the user can't see the post" do
@ -170,7 +169,6 @@ describe PostsController do
describe 'when logged in' do describe 'when logged in' do
let(:topic) { Fabricate(:topic) } let(:topic) { Fabricate(:topic) }
fab!(:user) { Fabricate(:user) }
it "raises an error when the user doesn't have permission to see the post" do it "raises an error when the user doesn't have permission to see the post" do
pm = Fabricate(:private_message_topic) pm = Fabricate(:private_message_topic)
@ -217,7 +215,7 @@ describe PostsController do
end end
it "raises an error when the user doesn't have permission to delete the posts" do it "raises an error when the user doesn't have permission to delete the posts" do
sign_in(Fabricate(:user)) sign_in(user)
delete "/posts/destroy_many.json", params: { post_ids: [post1.id, post2.id] } delete "/posts/destroy_many.json", params: { post_ids: [post1.id, post2.id] }
expect(response).to be_forbidden expect(response).to be_forbidden
end end
@ -277,8 +275,6 @@ describe PostsController do
include_examples 'action requires login', :put, "/posts/123/recover.json" include_examples 'action requires login', :put, "/posts/123/recover.json"
describe 'when logged in' do describe 'when logged in' do
fab!(:user) { Fabricate(:user) }
it "raises an error when the user doesn't have permission to see the post" do it "raises an error when the user doesn't have permission to see the post" do
post = Fabricate(:post, topic: Fabricate(:private_message_topic), post_number: 3) post = Fabricate(:post, topic: Fabricate(:private_message_topic), post_number: 3)
sign_in(user) sign_in(user)
@ -303,7 +299,6 @@ describe PostsController do
describe '#update' do describe '#update' do
include_examples 'action requires login', :put, "/posts/2.json" include_examples 'action requires login', :put, "/posts/2.json"
fab!(:user) { Fabricate(:user) }
fab!(:post) { Fabricate(:post, user: user) } fab!(:post) { Fabricate(:post, user: user) }
let(:update_params) do let(:update_params) do
{ {
@ -444,7 +439,6 @@ describe PostsController do
describe '#bookmark' do describe '#bookmark' do
include_examples 'action requires login', :put, "/posts/2/bookmark.json" include_examples 'action requires login', :put, "/posts/2/bookmark.json"
fab!(:post) { Fabricate(:post, user: user) } fab!(:post) { Fabricate(:post, user: user) }
fab!(:user) { Fabricate(:user) }
describe 'when logged in' do describe 'when logged in' do
before do before do
@ -584,7 +578,6 @@ describe PostsController do
sign_in(user) sign_in(user)
end end
fab!(:user) { Fabricate(:user) }
fab!(:post) { Fabricate(:post, user: user) } fab!(:post) { Fabricate(:post, user: user) }
it "raises an error if the user doesn't have permission to wiki the post" do it "raises an error if the user doesn't have permission to wiki the post" do
@ -640,7 +633,6 @@ describe PostsController do
sign_in(user) sign_in(user)
end end
fab!(:user) { Fabricate(:user) }
fab!(:post) { Fabricate(:post, user: user) } fab!(:post) { Fabricate(:post, user: user) }
it "raises an error if the user doesn't have permission to change the post type" do it "raises an error if the user doesn't have permission to change the post type" do
@ -665,7 +657,7 @@ describe PostsController do
fab!(:post) { Fabricate(:post, user: user) } fab!(:post) { Fabricate(:post, user: user) }
it "raises an error if the user doesn't have permission to rebake the post" do it "raises an error if the user doesn't have permission to rebake the post" do
sign_in(Fabricate(:user)) sign_in(user)
put "/posts/#{post.id}/rebake.json" put "/posts/#{post.id}/rebake.json"
expect(response).to be_forbidden expect(response).to be_forbidden
end end
@ -695,14 +687,11 @@ describe PostsController do
SiteSetting.enable_whispers = true SiteSetting.enable_whispers = true
end end
fab!(:user) { Fabricate(:user) }
context 'api' do context 'api' do
it 'memoizes duplicate requests' do it 'memoizes duplicate requests' do
raw = "this is a test post 123 #{SecureRandom.hash}" raw = "this is a test post 123 #{SecureRandom.hash}"
title = "this is a title #{SecureRandom.hash}" title = "this is a title #{SecureRandom.hash}"
user = Fabricate(:user)
master_key = ApiKey.create_master_key.key master_key = ApiKey.create_master_key.key
post "/posts.json", params: { post "/posts.json", params: {
@ -732,7 +721,6 @@ describe PostsController do
Jobs.run_immediately! Jobs.run_immediately!
NotificationEmailer.enable NotificationEmailer.enable
post_1 = Fabricate(:post) post_1 = Fabricate(:post)
user = Fabricate(:user)
master_key = ApiKey.create_master_key.key master_key = ApiKey.create_master_key.key
post "/posts.json", params: { post "/posts.json", params: {
@ -774,7 +762,6 @@ describe PostsController do
it 'prevents whispers for regular users' do it 'prevents whispers for regular users' do
post_1 = Fabricate(:post) post_1 = Fabricate(:post)
user = Fabricate(:user)
user_key = ApiKey.create!(user: user, key: SecureRandom.hex).key user_key = ApiKey.create!(user: user, key: SecureRandom.hex).key
post "/posts.json", params: { post "/posts.json", params: {
@ -878,7 +865,7 @@ describe PostsController do
it "can send a message to a group" do it "can send a message to a group" do
group = Group.create(name: 'test_group', messageable_level: Group::ALIAS_LEVELS[:nobody]) group = Group.create(name: 'test_group', messageable_level: Group::ALIAS_LEVELS[:nobody])
user1 = Fabricate(:user) user1 = user
group.add(user1) group.add(user1)
post "/posts.json", params: { post "/posts.json", params: {
@ -1273,7 +1260,7 @@ describe PostsController do
end end
it "ensures regular user cannot see the revisions" do it "ensures regular user cannot see the revisions" do
sign_in(Fabricate(:user)) sign_in(user)
get "/posts/#{post.id}/revisions/#{post_revision.number}.json" get "/posts/#{post.id}/revisions/#{post_revision.number}.json"
expect(response).to be_forbidden expect(response).to be_forbidden
end end
@ -1309,7 +1296,7 @@ describe PostsController do
} }
it "throws an exception for users" do it "throws an exception for users" do
sign_in(Fabricate(:user)) sign_in(user)
get "/posts/#{post.id}/revisions/#{post_revision.number}.json" get "/posts/#{post.id}/revisions/#{post_revision.number}.json"
expect(response.status).to eq(404) expect(response.status).to eq(404)
end end
@ -1372,7 +1359,7 @@ describe PostsController do
describe 'when logged in as a regular user' do describe 'when logged in as a regular user' do
it "does not work" do it "does not work" do
sign_in(Fabricate(:user)) sign_in(user)
put "/posts/#{post_id}/revisions/#{revision_id}/revert.json" put "/posts/#{post_id}/revisions/#{revision_id}/revert.json"
expect(response).to_not be_successful expect(response).to_not be_successful
end end
@ -1427,7 +1414,7 @@ describe PostsController do
describe '#expand_embed' do describe '#expand_embed' do
before do before do
sign_in(Fabricate(:user)) sign_in(user)
end end
fab!(:post) { Fabricate(:post) } fab!(:post) { Fabricate(:post) }
@ -1451,7 +1438,7 @@ describe PostsController do
describe "when logged in" do describe "when logged in" do
it "raises an error if the user doesn't have permission to see the flagged posts" do it "raises an error if the user doesn't have permission to see the flagged posts" do
sign_in(Fabricate(:user)) sign_in(user)
get "/posts/system/flagged.json" get "/posts/system/flagged.json"
expect(response).to be_forbidden expect(response).to be_forbidden
end end
@ -1463,7 +1450,6 @@ describe PostsController do
end end
it "only shows agreed and deferred flags" do it "only shows agreed and deferred flags" do
user = Fabricate(:user)
post_agreed = create_post(user: user) post_agreed = create_post(user: user)
post_deferred = create_post(user: user) post_deferred = create_post(user: user)
post_disagreed = create_post(user: user) post_disagreed = create_post(user: user)
@ -1490,7 +1476,7 @@ describe PostsController do
describe "when logged in" do describe "when logged in" do
it "raises an error if the user doesn't have permission to see the deleted posts" do it "raises an error if the user doesn't have permission to see the deleted posts" do
sign_in(Fabricate(:user)) sign_in(user)
get "/posts/system/deleted.json" get "/posts/system/deleted.json"
expect(response).to be_forbidden expect(response).to be_forbidden
end end
@ -1502,7 +1488,6 @@ describe PostsController do
end end
it "doesn't return secured categories for moderators if they don't have access" do it "doesn't return secured categories for moderators if they don't have access" do
user = Fabricate(:user)
Fabricate(:moderator) Fabricate(:moderator)
group = Fabricate(:group) group = Fabricate(:group)
@ -1521,7 +1506,6 @@ describe PostsController do
end end
it "doesn't return PMs for moderators" do it "doesn't return PMs for moderators" do
user = Fabricate(:user)
Fabricate(:moderator) Fabricate(:moderator)
pm_post = create_post(user: user, archetype: 'private_message', target_usernames: [admin.username]) pm_post = create_post(user: user, archetype: 'private_message', target_usernames: [admin.username])
@ -1536,8 +1520,6 @@ describe PostsController do
end end
it "only shows posts deleted by other users" do it "only shows posts deleted by other users" do
user = Fabricate(:user)
create_post(user: user) create_post(user: user)
post_deleted_by_user = create_post(user: user) post_deleted_by_user = create_post(user: user)
post_deleted_by_admin = create_post(user: user) post_deleted_by_admin = create_post(user: user)
@ -1711,7 +1693,7 @@ describe PostsController do
let(:post) { Fabricate(:post, deleted_at: 2.hours.ago, user: Fabricate(:user), raw_email: 'email_content') } let(:post) { Fabricate(:post, deleted_at: 2.hours.ago, user: Fabricate(:user), raw_email: 'email_content') }
it "raises an error if the user doesn't have permission to view raw email" do it "raises an error if the user doesn't have permission to view raw email" do
sign_in(Fabricate(:user)) sign_in(user)
get "/posts/#{post.id}/raw-email.json" get "/posts/#{post.id}/raw-email.json"
expect(response).to be_forbidden expect(response).to be_forbidden