1
나는이 행동을 명세하고있다.모의 물건을 넣을 곳
def get
@asset = current_user.assets.find(params[:id])
send_file @asset.uploaded_file.path, type: @asset.uploaded_file_content_type
rescue ActionController::MissingFile
redirect_to assets_url, error: 'missing file'
end
송신 파일 방법을 테스트하려면 조롱하십시오. 그러나
controller.should_receive(:send_file)
, 나는 어디에 넣어하는 아무 생각이 모의 :
여기 내 사양 보이는 방법은 다음과 같습니다
subject { response }
let!(:user) { FactoryGirl.create(:user) }
let!(:user_2) { FactoryGirl.create(:user) }
let!(:asset) { FactoryGirl.create(:asset, user_id: user.id) }
let!(:file) { fixture_file_upload('files/eve.jpg', 'image/jpeg') }
let!(:folder) { FactoryGirl.create(:folder, user_id: user.id, parent_id: nil) }
before do
sign_in user
end
describe '#get' do
context 'when exists' do
before do
get :get, id: asset.id
end
# controller.should_receive(:send_file).with(*args) <-- I need to test that
it { should have_http_status 302 }
end
context 'when doesn\'t exist' do
before do
get :get, id: 765
end
it { should redirect_to_location '/assets'}
it { should set_flash_type_to :error }
it { should set_flash_message_to 'missing file' }
end
end
가 어떻게 라인 (6)을 테스트합니까 난을 유지하려면 가능한 경우 한 줄 구문.