mirror of
https://github.com/discourse/discourse.git
synced 2025-03-09 14:34:35 +00:00
Use prefabricated user
This commit is contained in:
parent
86372a94d5
commit
f984c1740f
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user