mirror of
https://github.com/discourse/discourse.git
synced 2025-09-06 10:50:21 +08:00
proper content-disposition header when downloading attachments
This commit is contained in:
parent
eae7e75611
commit
45b838009c
8 changed files with 94 additions and 42 deletions
|
@ -2,17 +2,15 @@ require 'spec_helper'
|
|||
|
||||
describe UploadsController do
|
||||
|
||||
it 'requires you to be logged in' do
|
||||
-> { xhr :post, :create }.should raise_error(Discourse::NotLoggedIn)
|
||||
end
|
||||
context '.create' do
|
||||
|
||||
context 'logged in' do
|
||||
|
||||
before do
|
||||
@user = log_in :user
|
||||
it 'requires you to be logged in' do
|
||||
-> { xhr :post, :create }.should raise_error(Discourse::NotLoggedIn)
|
||||
end
|
||||
|
||||
context '.create' do
|
||||
context 'logged in' do
|
||||
|
||||
before { @user = log_in :user }
|
||||
|
||||
let(:logo) do
|
||||
ActionDispatch::Http::UploadedFile.new({
|
||||
|
@ -97,4 +95,29 @@ describe UploadsController do
|
|||
|
||||
end
|
||||
|
||||
context '.show' do
|
||||
|
||||
it "returns 404 when using external storage" do
|
||||
store = stub(internal?: false)
|
||||
Discourse.stubs(:store).returns(store)
|
||||
Upload.expects(:where).never
|
||||
get :show, site: "default", id: 1, sha: "1234567890abcdef", extension: "pdf"
|
||||
response.response_code.should == 404
|
||||
end
|
||||
|
||||
it "returns 404 when the upload doens't exist" do
|
||||
Upload.expects(:where).with(id: 2, url: "/uploads/default/2/1234567890abcdef.pdf").returns [nil]
|
||||
get :show, site: "default", id: 2, sha: "1234567890abcdef", extension: "pdf"
|
||||
response.response_code.should == 404
|
||||
end
|
||||
|
||||
it 'uses send_file' do
|
||||
Fabricate(:attachment)
|
||||
controller.stubs(:render)
|
||||
controller.expects(:send_file)
|
||||
get :show, site: "default", id: 42, sha: "66b3ed1503efc936", extension: "zip"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue