Hello all,
Is there some best practice how to test Rails controller action which
is using send_file method? Could you help me please?
Vit
Hello all,
Is there some best practice how to test Rails controller action which
is using send_file method? Could you help me please?
Vit
Just to be clear, this is how the action looks:
def download
log = ActivityLog.find(params[:id])
if log
send_file log.path
else
flash[:notice] = _(“Log file “#{params[:id]}” was not found.”)
redirect_to :action => ‘index’
end
end
Vit
On 22/02/2009, at 3:34 PM, vo.x wrote:
Hello all,
Is there some best practice how to test Rails controller action which
is using send_file method? Could you help me please?Vit
On 23/02/2009, at 2:43 AM, vo.x wrote:
end
Vit
Hi Vit. Just stub #send_file as normal. For example:
before :each do
controller.stub!(:send_file).and_return …
end
it “should send the requested file” do
controller.should_receive(:send_file).with(…).and_return …
do_get
end
Cheers,
Nick
On 23 Ún, 18:41, Nick H. [email protected] wrote:
end
controller.should_receive(:send_file).with(…).and_return …
do_get
endCheers,
Nick
rspec-users mailing list
[email protected]://rubyforge.org/mailman/listinfo/rspec-users
Hello Nick,
Thank you for your feedback, but your solution has one problem which
actually led me to this question. If I will stub the send_file method
as you recommend, then later on is automatically called render method
and I will get following error:
ActionView::MissingTemplate in ‘LogsController handling GET /logs/
test.log/download should find the log requested’
Missing template logs/download.erb in view path app/views
So there has to be set somewhere some flag, or provided some
meaningful response … Im out of ideas
Vit
On 24/02/2009, at 8:03 AM, vo.x wrote:
found.")
end
[email protected]://rubyforge.org/mailman/listinfo/rspec-users
Missing template logs/download.erb in view path app/viewsSo there has to be set somewhere some flag, or provided some
meaningful response … Im out of ideasVit
G’day Vit. ActionController is trying to render a view template for
your “download” controller action because ActionController does that
automatically. If you don’t want anything to be rendered, you need to
tell ActionController that.
-Nick
On 24 Ún, 17:26, Nick H. [email protected] wrote:
which
if log
Hi Vit. Just stub #send_file as normal. For example:
Cheers,
and I will get following error:
G’day Vit. ActionController is trying to render a view template for
your “download” controller action because ActionController does that
automatically. If you don’t want anything to be rendered, you need to
tell ActionController that.
-Nick
rspec-users mailing list
[email protected]://rubyforge.org/mailman/listinfo/rspec-users
Well … and how to do that? Now its starting to be interesting
Vit
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs