FEATURE: new 'allow_staff_to_upload_any_file_in_pm' site setting

This commit is contained in:
Régis Hanol
2017-06-12 22:41:29 +02:00
parent 16475bae89
commit 54e8fb0d89
11 changed files with 71 additions and 28 deletions

View File

@ -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