aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/test_case.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fix master buildMarcin Olichwirowicz2015-08-171-0/+1
|
* Refactor how assign_parameters sets generated_path & query_string_keyseileencodes2015-08-151-8/+20
| | | | | | | | | | | | | This is part of a larger refactoring on controller tests. We needed to move these methods here so that we could get rid of the `|| key == :action || key == :controller` in `assign_parameters`. We know this is ugly and intend to fix it but for now `generate_extras` needs to be used in the two methods to access the path and the query_string_keys. We're adding `:controller` and `:action` to the `query_string_keys` because we always need a controller and action. If someone passed `action` or `controller` in in there test they are unambigious - we know they have to go into the query params.
* Rename `extra_keys` variables to `query_string_keys`eileencodes2015-08-081-2/+2
| | | | | | `extra_keys` is a confusing variable name because it's not clear what is "extra". This renames it to `query_string_keys` so it's clear that the "extra" is just the query string.
* Adds missing argument handling for ActionController::TestSession toMatthew Gerrior2015-08-061-0/+4
| | | | allow testing controllers that use session#fetch with a default value.
* Rack implements `redirect?` so we don't need itAaron Patterson2015-07-141-3/+0
| | | | Rack [already implements `redirect?` on the response object](https://github.com/rack/rack/blob/1569a985e17d9caaf94d0e97d95ef642c4ab14ba/lib/rack/response.rb#L141) so we don't need to implement our own.
* Change AC::TestResponse to AD::TestResponsePrem Sichanugrist2015-07-141-1/+1
| | | | | ActionController::TestResponse was removed in d9fe10c and caused a test failure on Action View as its test case still refers to it.
* only have one TestResponse classAaron Patterson2015-07-131-4/+1
|
* move buffer caching on to the bufferAaron Patterson2015-07-131-4/+0
|
* we don't really need an extra method to set the script nameAaron Patterson2015-07-101-5/+1
|
* Remove useless conditionalAaron Patterson2015-07-101-12/+0
| | | | PATH_INFO is already set, so this branch will never execute.
* default `PATH_INFO` to the generated pathAaron Patterson2015-07-101-1/+2
| | | | | | we were already generating a path in the previous code (it was just not returned), so lets just use the already computed path to popluate the PATH_INFO header
* always default the SCRIPT_NAME to whatever is on the controllerAaron Patterson2015-07-101-1/+1
|
* remove useless ivar clearingAaron Patterson2015-07-101-6/+0
| | | | Since we only work with new instances, these ivars will not be set.
* call the `path_parameters=` setter rather than rely on mutationsAaron Patterson2015-07-101-1/+3
| | | | | We should call the setter on `path_parameters` so that we know the hash will only contain the values that we've set.
* start collecting `env` mutationsAaron Patterson2015-07-101-5/+3
| | | | | I'd like to put all env mutations together so we can understand how to change this code to call `call` on the controller
* Parameters are converted to a query stringAaron Patterson2015-07-101-17/+0
| | | | | Since parameters are converted to a query string, they will automatically be turned in to strings by the query parser
* no more HWIAAaron Patterson2015-07-101-1/+1
| | | | | non_path_parameters is used internally (it never escapes this method) so we should be able to safely use a regular hash.
* remove param dup'ing logicAaron Patterson2015-07-101-8/+0
| | | | | since we are serializing parameters, we don't need to do all the dup checks on each object.
* encode / decode parameters before assigning them to the requestAaron Patterson2015-07-101-5/+58
| | | | | | We should roundtrip the parameters through their respective encoders / decoders so that the controller will get parameters similar to what they actually get in a real world situation
* set parameters as a query stringAaron Patterson2015-07-091-6/+9
| | | | | | We should convert request parameters to a query string, then let the request object parse that query string. This should give us results that are more similar to the real-world
* build and assign parameters rather than rely on mutationsAaron Patterson2015-07-081-1/+15
| | | | | We should assign parameters to the request object rather than mutate the hash that is returned by `query_parameters` or `request_parameters`
* assign the cookie hash on request allocationAaron Patterson2015-07-081-1/+1
| | | | this prevents mutations from being available globally
* request objects are no longer recycledAaron Patterson2015-07-081-10/+8
| | | | | | Instead of trying to manually clear out a request object, lets just allocate a new one. The rack ENV is reused and cleaned (still), but the request object is not.
* add a new constructor for allocating test requestsAaron Patterson2015-07-081-11/+13
|
* pass the starting env and session to build_requestAaron Patterson2015-07-081-3/+3
|
* pass the session and env in to the test requestAaron Patterson2015-07-081-4/+8
|
* allocate new responses rather than recycling themAaron Patterson2015-07-081-12/+5
| | | | | There is no reason to "recycle" response objects when we can just allocate a new one.
* pass cookies from the jar in the HTTP_COOKIE headereileencodes2015-07-071-8/+7
| | | | | we should be pushing the cookies in via headers rather than maintaining some object and "recycling" it.
* Send cookies with requesteileencodes2015-07-071-1/+4
|
* Update RDoc for ActionController::TestCase for kwargs.Victor Costan2015-06-121-1/+1
|
* Merge pull request #20138 from tgxworld/deprecated_assert_templateRafael Mendonça França2015-06-011-6/+0
|\ | | | | Deprecate `assert_template` and `assigns()`.
| * Remove `assigns` and `assert_template`.Guo Xiang Tan2015-05-301-6/+0
| |
* | Use `any?` rather than `present?` to check argseileencodes2015-05-311-1/+1
|/ | | | | | It's better to use Ruby methods when possible over methods defined by Active Support because then it does not need to rely on any dependencies.
* Remove unused code.Guo Xiang Tan2015-05-291-2/+0
| | | | Code was moved into the `assign` method.
* Merge pull request #19808 from byroot/action-parameterRafael Mendonça França2015-05-271-15/+12
|\ | | | | [PoC] Stop shadowing parameters named `action`
| * Allow to parameters named `action` or `controller` from AC::TestCase helpersJean Boussier2015-04-181-15/+12
| |
* | Move `TemplateAssertions` to their own fileeileencodes2015-05-091-188/+1
| | | | | | | | | | | | | | | | | | | | | | This moves `TemplateAssertions` out of the `test_case.rb` file and into it's own `template_assertions` file. It still inherits from `ActionController`.` This is in preparation for combining the code for Integration tests and Controller tests. This will need to be it's own file to be added to the `requires` for Integration tests. This does not currently change ANY behavior, just moving it for access later on.
* | Use `args` instead of `*args` in `kwargs_request?` methodeileencodes2015-05-021-3/+3
|/ | | | | | `*args` is not required here and should be avoided when not necessary because `*args` are slower than `args` and create unnecessary array allocations.
* Revert "Merge pull request #19682 from ↵Santiago Pastorino2015-04-121-5/+2
| | | | | | | supercaracal/fix_force_ssl_redirection_flash_error" This reverts commit d215620340be7cb29e2aa87aab22da5ec9e6e6a7, reversing changes made to bbbbfe1ac02162ecb5e9a7b560134a3221f129f3.
* fix fails to force_ssl_redirection if session_store is disabledTaishi Kasuga2015-04-091-2/+5
|
* Use request.session.id instead of request.session_options[:id]Brian John2015-03-121-1/+1
| | | | | | | | | As of the upgrade to Rack 1.5, request.session_options[:id] is no longer populated. Reflect this change in the tests by using request.session.id instead. Related change in Rack: https://github.com/rack/rack/commit/83a270d6
* Merge pull request #18771 from kirs/deprecate-xhrRafael Mendonça França2015-02-051-3/+18
|\ | | | | Migrating xhr methods to keyword arguments syntax
| * Migrating xhr methods to keyword arguments syntaxKir Shatrov2015-02-011-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | in `ActionController::TestCase` and `ActionDispatch::Integration` Old syntax: `xhr :get, :create, params: { id: 1 }` New syntax example: `get :create, params: { id: 1 }, xhr: true`
* | Merge pull request #18721 from sj26/pre-discard-flashAaron Patterson2015-02-011-0/+2
|\ \ | | | | | | Pre-discard flash messages
| * | Fix flash remaining after last flash deletedSamuel Cochran2015-01-291-0/+2
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Fix a typo in deprecation warning. #process takes method instead of http_method.Juanito Fatas2015-01-311-1/+1
| | |
* | | [ci skip] Document format parameter of process method in AC test_case.Juanito Fatas2015-01-311-0/+1
| |/ |/|
* | Use fixed fonts only in the name of the parameterRafael Mendonça França2015-01-291-8/+8
| |
* | Switch to kwargs in ActionController::TestCase and ActionDispatch::IntegrationKir Shatrov2015-01-291-28/+93
|/ | | | | | | | 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
* Reset template assertions without warningsbrainopia2015-01-051-2/+4
|