aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/testing/integration.rb
Commit message (Collapse)AuthorAgeFilesLines
* remove meta programmingAaron Patterson2015-02-121-3/+3
| | | | | there's really no benefit here. It's the same number of lines without the meta programming and is faster
* there is always an integration session, so remove the checkAaron Patterson2015-02-121-1/+0
|
* lazily create the integration sessionAaron Patterson2015-02-121-7/+5
| | | | now we don't have to call reset! everywhere
* use before_setup to set up test instance variablesAaron Patterson2015-02-121-7/+6
|
* Skip url_helpers instead of caching, speed up integration testseileencodes2015-02-121-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We shouldn't cache if it's not absolutely necessary. Removes route caching and instead skips using the `url_helpers` is the integration test session doesn't require it. Benchmark ips on integration and controller index method tests below. Without any caching or changes to `#url_helpers`: ``` Calculating ------------------------------------- INDEX: Integration Test 71.000 i/100ms INDEX: Functional Test 99.000 i/100ms ------------------------------------------------- INDEX: Integration Test 728.878 (± 8.0%) i/s - 3.692k INDEX: Functional Test 1.015k (± 6.7%) i/s - 5.148k Comparison: INDEX: Functional Test: 1015.4 i/s INDEX: Integration Test: 728.9 i/s - 1.39x slower ``` With caching on `#url_helpers`: ``` Calculating ------------------------------------- INDEX: Integration Test 74.000 i/100ms INDEX: Functional Test 99.000 i/100ms ------------------------------------------------- INDEX: Integration Test 752.377 (± 6.9%) i/s - 3.774k INDEX: Functional Test 1.021k (± 6.7%) i/s - 5.148k Comparison: INDEX: Functional Test: 1021.1 i/s INDEX: Integration Test: 752.4 i/s - 1.36x slower ``` Afer removing the caching and bypassing the `url_helpers` when not necessary in the session: ``` Calculating ------------------------------------- INDEX: Integration Test 87.000 i/100ms INDEX: Functional Test 97.000 i/100ms ------------------------------------------------- INDEX: Integration Test 828.433 (± 6.4%) i/s - 4.176k INDEX: Functional Test 926.763 (± 7.2%) i/s - 4.656k Comparison: INDEX: Functional Test: 926.8 i/s INDEX: Integration Test: 828.4 i/s - 1.12x slower ```
* Migrating xhr methods to keyword arguments syntaxKir Shatrov2015-02-011-8/+16
| | | | | | | | | | | | in `ActionController::TestCase` and `ActionDispatch::Integration` Old syntax: `xhr :get, :create, params: { id: 1 }` New syntax example: `get :create, params: { id: 1 }, xhr: true`
* Consistent usage of spaces in hashes across our codebaseRafael Mendonça França2015-01-291-2/+2
|
* Use fixed fonts only in the name of the parameterRafael Mendonça França2015-01-291-3/+3
|
* Switch to kwargs in ActionController::TestCase and ActionDispatch::IntegrationKir Shatrov2015-01-291-37/+104
| | | | | | | | 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
* Deprecate *_via_redirect integration test methodsAditya Kapoor2015-01-281-0/+5
|
* Move longer form example from integration guide to api reference, below anZachary Scott2014-12-291-0/+78
| | | | | | | | existing example. [ci skip] My reasoning is that this is probably too much information for the complete Rails testing guide, as we're trying to cover testing all aspects of the framework.
* Make sure assert_select can assert body tagRafael Mendonça França2014-11-181-1/+1
| | | | | | | | | This reverts commit f93df52845766216f0fe36a4586f8abad505cac4, reversing changes made to a455e3f4e9dbfb9630d47878e1239bc424fb7d13. Conflicts: actionpack/lib/action_controller/test_case.rb actionview/lib/action_view/test_case.rb
* Fix for assigns(:..) resetting template assertionsCalvin Correli2014-11-171-3/+7
| | | | When calling assigns(:...) or cookies(:...), template assertions would be reset, which they obviously shouldn't be.
* Remove session to allow `with_routing` to be called twice.Guo Xiang Tan2014-11-051-0/+4
| | | | Fixes: https://github.com/rails/rails/issues/16814
* Parse HTML as document fragment.Kasper Timm Hansen2014-09-291-1/+1
| | | | This is to match the changes in Rails Dom Testing rails/rails-dom-testing#20.
* Merge branch 'master' into loofahRafael Mendonça França2014-08-121-1/+3
|\ | | | | | | | | | | | | Conflicts: actionpack/CHANGELOG.md actionpack/test/controller/integration_test.rb actionview/CHANGELOG.md
| * Revert "Merge pull request #15305 from tgxworld/remove_unnecessary_require"Santiago Pastorino2014-07-301-0/+1
| | | | | | | | | | | | | | This reverts commit f632f79b8dcd144408c66a544984b2ba9cf52f87, reversing changes made to 98c7fe87690ca4de6c46e8f69806e82e3f8af42d. Closes #16343
| * Fix AC::TemplateAssertions instance variables not resetting.Guo Xiang Tan2014-07-211-0/+1
| | | | | | | | Fixes https://github.com/rails/rails/issues/16119.
| * routed applications will respond to these methodsAaron Patterson2014-07-151-1/+1
| |
* | Merge pull request #11218 from kaspth/loofah-integrationRafael Mendonça França2014-07-101-0/+4
|\ \ | |/ |/| | | | | | | | | | | Loofah-integration Conflicts: actionpack/CHANGELOG.md actionview/CHANGELOG.md
| * Add document_root_element to ActionDispatch::IntegrationTest so ↵Timm2014-06-161-0/+4
| | | | | | | | assert_select can be called without specifying a root.
| * Moved ActionView::Assertions dependency from Action Pack's lib to ↵Timm2014-06-161-2/+1
| | | | | | | | abstract_unit.rb.
| * Moved Dom and Selector assertions from ActionDispatch to ActionView.Timm2014-06-161-1/+2
| |
* | remove the mounted_helpers respond_to checkAaron Patterson2014-07-071-1/+1
| | | | | | | | It always responds to mounted_helpers now
* | always test against a routed rack app so there are always url_helpersAaron Patterson2014-07-071-1/+1
| |
* | Remove unused parameter.Guo Xiang Tan2014-06-151-1/+1
|/
* Merge pull request #15061 from tgxworld/remove_unnecessary_includeMatthew Draper2014-05-291-6/+0
|\ | | | | Remove unnecessary include for integration tests.
| * Remove unnecessary include for integration tests.Guo Xiang Tan2014-05-111-6/+0
| |
* | Remove unnecessary require of Minitest.Guo Xiang Tan2014-05-241-1/+0
| | | | | | | | Minitest has already been required when calling Minitest.autorun.
* | Form full URI as string to be parsed in Rack::Test.Guo Xiang Tan2014-05-211-7/+5
|/ | | | There are performance gains to be made by avoiding URI setter methods.
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-12-201-1/+1
|\
| * Typos. return -> returns. [ci skip]Lauro Caetano2013-12-031-1/+1
| |
* | Change all `MiniTest` to `Minitest` since, `MiniTest` namespace has been ↵Vipul A M2013-12-181-1/+1
|/ | | | | | renamed to `Minitest` Ref: https://github.com/seattlerb/minitest/blob/master/History.txt
* remove useless `env.merge!(env)` from ActionDispatch::IntegrationTest`Yves Senn2013-07-041-2/+0
|
* Remove deprecated Rails application fallback for integration testingCarlos Antonio da Silva2013-07-021-4/+0
| | | | Set ActionDispatch.test_app instead.
* Require only minitest.Rafael Mendonça França2013-05-221-1/+1
| | | | | minitest/autorun required minitest/spec and we are avoiding to require it.
* Eliminate minitest warningsSam Ruby2013-05-171-1/+1
| | | | https://github.com/seattlerb/minitest/commit/9a57c520ceac76abfe6105866f8548a94eb357b6#L15R8
* Revert "Integration tests support the OPTIONS http method"Rafael Mendonça França2013-05-161-7/+1
| | | | | | | | | | | | | | This reverts commit ad46884af567d6f8d6d8d777f372c39e81a560ba. Conflicts: actionpack/CHANGELOG.md actionpack/lib/action_dispatch/testing/integration.rb actionpack/test/controller/integration_test.rb Reason: It will conflict with a lot of test cases. Better to call `process` directly since this is a very uncommon HTTP method. Fixes #10638.
* `Http::Headers` directly modifies the passed environment.Yves Senn2013-03-151-2/+3
| | | | | | | | | The env hash passed to `Http::Headers#new` must be in env format. Also be aware that the passed hash is modified directly. docs and test-cases for setting headers/env in functional tests. Follow up to #9700.
* allow headers and env to be passed in `IntegrationTest`.Yves Senn2013-03-131-34/+34
| | | | Closes #6513.
* Ensure port is set when passed via the process methodAndrew White2013-01-151-1/+1
|
* Inherit from MiniTest::Unit::TestCase instead of MiniTest::SpecRafael Mendonça França2012-12-311-3/+0
|
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-11-031-6/+6
|\ | | | | | | | | | | | | Conflicts: actionpack/lib/action_controller/metal/mime_responds.rb activerecord/lib/active_record/attribute_methods.rb guides/source/working_with_javascript_in_rails.md
| * 1.9 hash syntax changes to docsAvnerCohen2012-10-311-6/+6
| |
* | Make caller attribute in deprecation methods optionalAlexey Gaziev2012-10-301-2/+1
| |
* | Add missing require for minitest assertions. Breaks calling 'app' in console ↵Jeremy Kemper2012-10-251-0/+1
|/ | | | otherwise. See 94248ffe1e6f815b8ffab4eb752b60c1e4459d25.
* Register AD::IntegrationTest for minitest's spec DSLMike Moore2012-09-241-0/+3
|
* Merge pull request #7530 from robin850/masterXavier Noria2012-09-051-1/+1
|\ | | | | Fix a typo in AD
| * Fix a typoRobin Dupret2012-09-051-1/+1
| |
* | removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.