Module: ActionDispatch::TestProcess
- Included in:
- ActionController::TestCase::Behavior, Integration::Session, ActionView::TestCase::Behavior, ActionView::TestCase::TestController
- Defined in:
- lib/action_dispatch/testing/test_process.rb
Instance Method Summary collapse
- #assigns(key = nil) ⇒ Object
- #cookies ⇒ Object
-
#fixture_file_upload(path, mime_type = nil, binary = false) ⇒ Object
Shortcut for
ARack::Test::UploadedFile.new(ActionController::TestCase.fixture_path + path, type)
:. - #flash ⇒ Object
- #redirect_to_url ⇒ Object
- #session ⇒ Object
Instance Method Details
#assigns(key = nil) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/action_dispatch/testing/test_process.rb', line 6 def assigns(key = nil) assigns = {}.with_indifferent_access @controller.instance_variable_names.each do |ivar| next if ActionController::Base.protected_instance_variables.include?(ivar) assigns[ivar[1..-1]] = @controller.instance_variable_get(ivar) end key.nil? ? assigns : assigns[key] end |
#cookies ⇒ Object
24 25 26 |
# File 'lib/action_dispatch/testing/test_process.rb', line 24 def @request..merge(@response.) end |
#fixture_file_upload(path, mime_type = nil, binary = false) ⇒ Object
Shortcut for ARack::Test::UploadedFile.new(ActionController::TestCase.fixture_path + path, type)
:
post :change_avatar, :avatar => fixture_file_upload('/files/spongebob.png', 'image/png')
To upload binary files on Windows, pass :binary
as the last parameter. This will not affect other platforms:
post :change_avatar, :avatar => fixture_file_upload('/files/spongebob.png', 'image/png', :binary)
40 41 42 43 |
# File 'lib/action_dispatch/testing/test_process.rb', line 40 def fixture_file_upload(path, mime_type = nil, binary = false) fixture_path = ActionController::TestCase.send(:fixture_path) if ActionController::TestCase.respond_to?(:fixture_path) Rack::Test::UploadedFile.new("#{fixture_path}#{path}", mime_type, binary) end |
#flash ⇒ Object
20 21 22 |
# File 'lib/action_dispatch/testing/test_process.rb', line 20 def flash @request.flash end |
#redirect_to_url ⇒ Object
28 29 30 |
# File 'lib/action_dispatch/testing/test_process.rb', line 28 def redirect_to_url @response.redirect_url end |
#session ⇒ Object
16 17 18 |
# File 'lib/action_dispatch/testing/test_process.rb', line 16 def session @request.session end |