aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #18665 from sgrif/sg-test-route-allSean Griffin2015-02-201-0/+22
|\ | | | | Allow `method: "all"` as a valid routing test option
| * Allow `method: "all"` as a valid routing test optionSean Griffin2015-01-231-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the test to mirror the production code, since `via: :all` is a valid option. The behavior in 4.1 did not actually test that it matched all verbs, but instead defaulted to testing for "GET". This implementation aims to better handle the intention of passing "all". What will actually be asserted doesn't quite match up with the generated route, since it appears to just not create a constraint on the method. However, I don't think that we can easily test the lack of that constraint. Testing each of the main 4 HTTP verbs seems to be a reasonably close approximation, which should be sufficient for our needs. Fixes #18511.
* | Merge pull request #18917 from lautis/non-string-csrf-tokenRafael Mendonça França2015-02-181-0/+7
|\ \ | | | | | | | | | Handle non-string authenticity tokens
| * | Handle non-string authenticity tokensVille Lautanala2015-02-121-0/+7
| | | | | | | | | | | | Non-string authenticity tokens raised NoMethodError when decoding the masked token.
* | | Implement http_cache_forever to ActionControllerArthur Neves2015-02-151-0/+53
|/ / | | | | | | | | | | | | | | | | Add http_cache_forever to ActionController, so we can cache results forever. Things like static pages are a good candidate for this type of caching. This cache only controls caching headers, so it is up to the browser to cache those requests.
* | Accept a collection in fresh_when and stale?claudiob2015-02-101-1/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The methods `fresh_when` and `stale?` from ActionController::ConditionalGet accept a single record as a short form for a hash. For instance ```ruby def show @article = Article.find(params[:id]) fresh_when(@article) end ``` is just a short form for: ```ruby def show @article = Article.find(params[:id]) fresh_when(etag: @article, last_modified: @article.created_at) end ``` This commit extends `fresh_when` and `stale?` to also accept a collection of records, so that a short form similar to the one above can be used in an `index` action. After this commit, the following code: ```ruby def index @article = Article.all fresh_when(etag: @articles, last_modified: @articles.maximum(:created_at)) end ``` can be simply written as: ```ruby def index @article = Article.all fresh_when(@articles) end ```
* | Fix wrong kwarg "record" from #18872claudiob2015-02-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | PR #18772 changed the parameters of `stale?` to use `kwargs`. [As for this comment](https://github.com/rails/rails/pull/18872/files#r24456288) the default value for the `etag` parameter should be `record`, not `nil`. This commit fixes the code and introduces a test that: - passed before #18872 - fails on the current master (after #18772) - passes again after setting the default value of `etag` to `record`.
* | Merge pull request #18771 from kirs/deprecate-xhrRafael Mendonça França2015-02-056-106/+112
|\ \ | | | | | | Migrating xhr methods to keyword arguments syntax
| * | Migrating xhr methods to keyword arguments syntaxKir Shatrov2015-02-016-106/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in `ActionController::TestCase` and `ActionDispatch::Integration` Old syntax: `xhr :get, :create, params: { id: 1 }` New syntax example: `get :create, params: { id: 1 }, xhr: true`
* | | Removed magic comments # encoding: utf-8 , since its default from ruby 2.0 ↵Vipul A M2015-02-033-3/+0
| | | | | | | | | | | | onwards.
* | | Merge pull request #18721 from sj26/pre-discard-flashAaron Patterson2015-02-012-11/+26
|\ \ \ | | | | | | | | Pre-discard flash messages
| * | | Migrate old flash behaviourSamuel Cochran2015-01-301-6/+7
| | | |
| * | | Discard from flash before persisting in sessionSamuel Cochran2015-01-291-7/+9
| | | |
| * | | Fix flash remaining after last flash deletedSamuel Cochran2015-01-291-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Inside a controller functional test after the last flash is deleted it still persists the flash because to_session_value is nil. We should delete it from the session when the serialized version is nil, same as the flash middleware.
* | | | Merge pull request #18759 from yuki24/remove-warningYves Senn2015-02-011-3/+3
|\ \ \ \ | | | | | | | | | | :scissors: warning from controller renderer test
| * | | | :scissors: warning from controller renderer testYuki Nishijima2015-01-311-3/+3
| | |/ / | |/| | | | | | | | | | rails/actionpack/test/controller/renderer_test.rb:89: warning: possible reference to past scope - defaults
* / | | Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846robertomiranda2015-01-314-7/+7
|/ / / | | | | | | | | | ref: https://github.com/rails/rails/pull/18763#issuecomment-72349769
* | | Remove duplicated testsRafael Mendonça França2015-01-291-30/+0
| | |
* | | Consistent usage of spaces in hashes across our codebaseRafael Mendonça França2015-01-2912-50/+54
| | |
* | | Switch to kwargs in ActionController::TestCase and ActionDispatch::IntegrationKir Shatrov2015-01-2928-254/+621
| | | | | | | | | | | | | | | | | | | | | | | | Non-kwargs requests are deprecated now. Guides are updated as well. `post url, nil, nil, { a: 'b' }` doesn't make sense. `post url, params: { y: x }, session: { a: 'b' }` would be an explicit way to do the same
* | | Preserve default url options when generating URLsTekin Suleyman2015-01-281-0/+21
|/ / | | | | | | | | Fixes an issue that would cause default_url_options to be lost when generating URLs with fewer positional arguments than parameters in the route definition.
* | Just assert the deprecation of one methodRafael Mendonça França2015-01-281-10/+15
| |
* | Merge pull request #18693 from aditya-kapoor/deprecate_via_redirectRafael Mendonça França2015-01-281-15/+25
|\ \ | | | | | | | | | Deprecate *_via_redirect integration test methods
| * | Deprecate *_via_redirect integration test methodsAditya Kapoor2015-01-281-15/+25
| |/
* / Add test for HTTP basic authentication when no credential is given.Zhang Kai Yu2015-01-241-0/+7
|/
* Add ActionController::Base.renderbrainopia2015-01-221-0/+4
|
* Add ActionController::Rendererbrainopia2015-01-221-0/+99
| | | | Render arbitrary templates outside of controller actions
* Add `ActionController::Metal#set_request!`brainopia2015-01-211-0/+9
| | | | | Add `ActionController::Metal#set_request!` to set a request on controller instance without calling dispatch.
* Remove unused AV fixtures from AP testsclaudiob2015-01-111-65/+0
| | | | | | | | | When `render` was moved from ActionPack to ActionView in acc8e259, some fixtures required by the tests were duplicated, but they are actually only required by ActionView tests. To give one example, `double_render` is already defined [in the AV tests](https://github.com/rails/rails/blob/72139d8d310d896db78eaec98582c7a638135102/actionview/test/actionpack/controller/render_test.rb#L407) and is never used in the ActionPack tests.
* Default headers, removed in controller actions, will not be reapplied to the ↵Jonas Baumann2015-01-091-0/+23
| | | | test response.
* Merge pull request #18404 from claudiob/rebase-14549Rafael Mendonça França2015-01-081-0/+34
|\ | | | | Add test case and documentation for skip_before_filter.
| * Add test/doc for :if/:except in skip_before_actionclaudiob2015-01-081-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new test/docs further explain the conflicts that can happen when mixing `:if`/`:unless` options with `:only`/`:except` options in `skip_before_action`. The gist is that "positive" filters always have priority over negative ones. The previous commit already showed that `:only` has priority over `:if`. This commit shows that `:if` has priority over `:except`. For instance, the following snippets are equivalent: ```ruby skip_before_action :some_callback, if: -> { condition }, except: action ``` ```ruby skip_before_action :some_callback, if: -> { condition } ```
| * Add test case and documentation for skip_before_filter.Lauro Caetano2015-01-081-0/+17
| | | | | | | | | | | | | | | | Test case for using skip_before_filter with the options :only and :if both present. In this case, the :if option will be ignored and :only will be executed. Closes #14549 (the commit was cherry-picked from there).
* | Add prepend option to protect_from_forgery.Josef Šimánek2015-01-081-0/+60
| |
* | Remove ActionController::HideActions (closes #18336)brainopia2015-01-061-38/+1
|/
* Remove respond_to/respond_with placeholder methodsCarlos Antonio da Silva2015-01-041-32/+0
| | | | This functionality has been extracted to the responders gem.
* Remove deprecated option `use_route` in controller testsRafael Mendonça França2015-01-041-25/+0
|
* Merge pull request #17978 from kommen/fixed-pr-14903Rafael Mendonça França2015-01-021-0/+20
|\ | | | | | | | | | | | | Ensure append_info_to_payload is called even if an exception is raised. Conflicts: actionpack/CHANGELOG.md
| * Ensure append_info_to_payload is called even if an exception is raised.Dieter Komendera2014-12-101-0/+20
| | | | | | | | | | | | | | | | See: * https://github.com/rails/rails/pull/14903 * https://github.com/roidrage/lograge/issues/37 Some code by mxrguspxrt from #14903.
* | Integration requests should work in contexts without setup and teardownbrainopia2015-01-021-0/+24
| |
* | Correctly use the response's status code calling headRobin Dupret2014-12-311-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 20fece1 introduced the `_status_code` method to fix calls to `head :ok`. This method has been added on both ActionController::Metal and ActionDispatch::Response. As for the latter, this method is just equivalent to the `response_code` one so commit aefec3c removed it from the `Reponse` object so call to the `_status_code` method on an ActionController::Base instance would be handled by the `Metal` class (which `Base` inherits from) but the status code is not updated according to the response at this level. The fix is to actually rely on `response_code` for ActionController::Base instances but this method doesn't exist for bare Metal controllers so we need to define it.
* | Remove single space response body for head requestPrathamesh Sonpatki2014-12-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - The single space response was added due to a bug in safari in https://github.com/rails/rails/commit/cb0f8fda9652c4d24d04693bdb82cecd3b067e5c and https://github.com/rails/rails/commit/807df4fcf021fc4d15972aa1c17ba7398d43ab0d. - This was removed from the `render nothing: true` in https://github.com/rails/rails/pull/14883. - Removing it from response of :head also. As :head is more obvious alternative to call `render nothing: true`(http://guides.rubyonrails.org/layouts_and_rendering.html#using-head-to-build-header-only-responses), removing it from head method also. - Closes #18253.
* | Merge pull request #17995 from ↵Rafael Mendonça França2014-12-161-0/+7
|\ \ | | | | | | | | | | | | jethroo/fix/assert_template_with_unsupported_layout_type assert template should raise ArgumentError for unsupported layout types
| * | adding that assert_template with :layout will raise ArgumentError for ↵Carsten Wirth2014-12-161-0/+7
| |/ | | | | | | unknown layout type
* | Remove misleading test: around_action return falseclaudiob2014-12-151-19/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an `around_action` does not `yield`, then the corresponding action is *never* executed and the `after_` actions are *never* invoked. The value returned by the `around_action` does not have any impact on this: an `around_action` can "return" `true`, `false`, or `"pizza"`, but as long as `yield` is not invoked, the corresponding action and after callbacks are not executed. The test suite for `ActionController::Callbacks` currently includes separate tests to distinguish the cases in which a non-yielding `around_actions` returns `true` or `false`. In my opinion, having such tests is misleading, giving the impression that the returned value might have some sort of impact, while it does not. At least that's the impression I got when I read those tests. For completeness, the tests were introduced 7 years ago by @NZKoz in e80fabb.
* | Add AC::Parameters#to_unsafe_hPrem Sichanugrist2014-12-121-0/+6
|/ | | | | | | | | As suggested in #16299([1]), this method should be a new public API for retrieving unfiltered parameters from `ActionController::Parameters` object, given that `Parameters#to_hash` will no longer work in Rails 5.0+ as we stop inheriting `Parameters` from `Hash`. [1]: https://github.com/rails/rails/pull/16299#issuecomment-50220919
* Typo: Hello = Guten Tag (in German)Tu Hoang2014-12-051-2/+2
|
* Pass symbol as an argument instead of a blockErik Michaels-Ober2014-11-292-5/+5
|
* Merge pull request #17186 from tgxworld/header_authentication_tokenMatthew Draper2014-11-271-2/+21
|\ | | | | | | Allow authentication header to not have to specify 'token=' key.
| * Allow authentication header to not have to specify 'token=' key.Guo Xiang Tan2014-10-101-2/+21
| | | | | | | | Fixes: https://github.com/rails/rails/issues/17108.