mirror of
https://github.com/discourse/discourse.git
synced 2025-05-31 03:08:23 +08:00
FEATURE: new 'allow_staff_to_upload_any_file_in_pm' site setting
This commit is contained in:
@ -38,7 +38,7 @@ describe UploadsController do
|
||||
end
|
||||
|
||||
it 'parameterize the type' do
|
||||
subject.expects(:create_upload).with(logo, nil, "super_long_type_with_charssuper_long_type_with_char")
|
||||
subject.expects(:create_upload).with(logo, nil, "super_long_type_with_charssuper_long_type_with_char", nil)
|
||||
xhr :post, :create, file: logo, type: "super \# long \//\\ type with \\. $%^&*( chars" * 5
|
||||
end
|
||||
|
||||
@ -52,11 +52,11 @@ describe UploadsController do
|
||||
expect(response.status).to eq 200
|
||||
|
||||
expect(message.channel).to eq("/uploads/avatar")
|
||||
expect(message.data).to be
|
||||
expect(message.data["id"]).to be
|
||||
end
|
||||
|
||||
it 'is successful with an attachment' do
|
||||
SiteSetting.stubs(:authorized_extensions).returns("*")
|
||||
SiteSetting.authorized_extensions = "*"
|
||||
|
||||
Jobs.expects(:enqueue).never
|
||||
|
||||
@ -66,7 +66,7 @@ describe UploadsController do
|
||||
|
||||
expect(response.status).to eq 200
|
||||
expect(message.channel).to eq("/uploads/composer")
|
||||
expect(message.data).to be
|
||||
expect(message.data["id"]).to be
|
||||
end
|
||||
|
||||
it 'is successful with synchronous api' do
|
||||
@ -110,7 +110,7 @@ describe UploadsController do
|
||||
end
|
||||
|
||||
it 'properly returns errors' do
|
||||
SiteSetting.stubs(:max_attachment_size_kb).returns(1)
|
||||
SiteSetting.max_attachment_size_kb = 1
|
||||
|
||||
Jobs.expects(:enqueue).never
|
||||
|
||||
@ -123,17 +123,30 @@ describe UploadsController do
|
||||
end
|
||||
|
||||
it 'ensures allow_uploaded_avatars is enabled when uploading an avatar' do
|
||||
SiteSetting.stubs(:allow_uploaded_avatars).returns(false)
|
||||
SiteSetting.allow_uploaded_avatars = false
|
||||
xhr :post, :create, file: logo, type: "avatar"
|
||||
expect(response).to_not be_success
|
||||
end
|
||||
|
||||
it 'ensures sso_overrides_avatar is not enabled when uploading an avatar' do
|
||||
SiteSetting.stubs(:sso_overrides_avatar).returns(true)
|
||||
SiteSetting.sso_overrides_avatar = true
|
||||
xhr :post, :create, file: logo, type: "avatar"
|
||||
expect(response).to_not be_success
|
||||
end
|
||||
|
||||
it 'allows staff to upload any file in PM' do
|
||||
SiteSetting.authorized_extensions = "jpg"
|
||||
SiteSetting.allow_staff_to_upload_any_file_in_pm = true
|
||||
@user.update_columns(moderator: true)
|
||||
|
||||
message = MessageBus.track_publish do
|
||||
xhr :post, :create, file: text_file, type: "composer", for_private_message: true
|
||||
end.first
|
||||
|
||||
expect(response).to be_success
|
||||
expect(message.data["id"]).to be
|
||||
end
|
||||
|
||||
it 'returns an error when it could not determine the dimensions of an image' do
|
||||
Jobs.expects(:enqueue).with(:create_avatar_thumbnails, anything).never
|
||||
|
||||
@ -194,7 +207,7 @@ describe UploadsController do
|
||||
|
||||
context "prevent anons from downloading files" do
|
||||
|
||||
before { SiteSetting.stubs(:prevent_anons_from_downloading_files).returns(true) }
|
||||
before { SiteSetting.prevent_anons_from_downloading_files = true }
|
||||
|
||||
it "returns 404 when an anonymous user tries to download a file" do
|
||||
Upload.expects(:find_by).never
|
||||
|
Reference in New Issue
Block a user