aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Refactor so all drivers use Puma by defaulteileencodes2017-02-205-43/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Puma is the default webserver of Rails. Because of this it doesn't make sense to run tests in Webkit if the default server is Puma. Here I've refactored the webserver to be it's own standalone module so it can be shared between Rails' selenium default driver and Capybara's defaut drivers.
| * | | | Add support for screenshotseileencodes2017-02-206-2/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds support, tests, and documentation for the screenshot helper. If taking screenshots is supported by the driver (for example Rack Test doesn't support screenshots) then a screenshot will be taken if the test fails.
| * | | | Reconfigure how the drivers workeileencodes2017-02-2010-144/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the useless Rack Test Driver that Rails was providing and moves to a shim like approach for default adapters. If someone wants to use one of the default Capybara Drivers then we will initialize a new `CapybaraDriver` that simply sets the default driver. Rails though is much more opinionated than Capybara and to make system testing a "works out of the box" framework in Rails we have the `RailsSeleniumDriver`. This driver sets defaults that Rails deems important for selenium testing. The purpose of this is to simply add a test and it just works.
| * | | | Add documentation for system testseileencodes2017-02-209-7/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Document Rails::SystemTestCase * Document setting drivers with the configration options * Document using the getter/setter for driver adapters * Document the CapybaraRackTestDriver and defaults * Document the CapybaraSeleniumDriver and defaults * Document custom assertions provided by System Testing * Document custom form helpers provided by System Testing
| * | | | Add tests for system testingeileencodes2017-02-209-1/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Adds test case test * Adds driver adapter test * Adds tests for capybara seleium driver (testing the settings not actually opening the browser to test capybara w/ selenium because that would so so so slow) * Adds tests for rack test driver * Adds tests for generators
| * | | | Fix Railtie to pass class when setting optionseileencodes2017-02-203-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will clean up the railtie quite a bit, rather than passing a set of hash keys call the new class directly like we do with ActiveJob. Only call driver once when tests start rather than in every single test setup. This is more performant, and the other way was creating unnecessary calls.
| * | | | Move SystemTesting::Base into SystemTestCaseeileencodes2017-02-202-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | There's no real benefit to the using the `Base` class here because `SystemTestCase` is already a very small class.
| * | | | Refactor to not include `capybara/rails`eileencodes2017-02-201-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rails itself is not a Rails application so instead of including `capybara/rails` we should use the code in there to set up the test. The only reason capybara needs to include capybara/rails in the first place is because Rails didn't yet support it.
| * | | | Refactor driver adapter getter/settereileencodes2017-02-202-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it easier to ask the system test what driver adapter it is currently using, and makes it easier to change that setting when necessary.
| * | | | Inherit from ActionDispatch::IntegrationTesteileencodes2017-02-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integration tests already handle all the fancy url mapping we need to do so inherting from that allows us to not need to reinvent the wheel in terms of loading up the route handling required to use `visit users_path` over `visit /users`.
| * | | | Add test assertion helperseileencodes2017-02-203-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | Adds assertions that are not part of Capybara but may be useful to Rails users writing system tests.
| * | | | Add configuration option for driver adaptereileencodes2017-02-204-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | This allows any application to change the driver adapter based on the config settings in the test env.
| * | | | Add ForHelper's for system testseileencodes2017-02-203-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | These FormHelpers are selectors that aren't a capybara default but are considered useful for Rails applications.
| * | | | Add configurable selenium driver for capybaraeileencodes2017-02-202-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not yet configurable but is the minimum required to make Capybara work with the Selenium driver. A lot of this will change as the tests get fleshed out and the initialization requirements will eventually be configurable via the application.
| * | | | Add ability to run system tests via Capybaraeileencodes2017-02-206-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Capybara defaults to Rack Test for it's driver and works out of the box but this adds the headers and allows for future configurable adapters for system testing.
| * | | | Add skeleton for Rails::SystemTestCaseeileencodes2017-02-202-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This skelton is the bare minimum to get system tests to actually run in an application. This of course doesn't yet actually run a test but it is enough for `bin/rails test:system` to attempt to run files in `test/system` that inherit from `Rails::SystemTestCase`.
| * | | | Add generators and ability to run system testseileencodes2017-02-2014-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Generates system test requirements with new Rails app * Includes required default gems in Gemfile for Rails app * Generates a single system test case * Generates a system test case with scaffold
* | | | | Merge pull request #27941 from ↵Kasper Timm Hansen2017-02-205-10/+34
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/prevent_multiple_values_being_set_to_run_via Prevent multiple values being set to `run_via`
| * | | | | Prevent multiple values being set to `run_via`yuuji.yaginuma2017-02-185-10/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When executing the test via rake, since `rake` is set for `run_via`, `ruby` should not be set. Related 2cb6c27310452da11b93d729c3b760ce988106e1
* | | | | | Revert "Merge pull request #27925 from robin850/hwia-removal"Kasper Timm Hansen2017-02-204-49/+4
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pointed out by @matthewd that the HWIA subclass changes the AS scoped class and top-level HWIA hierarchies out from under existing classes. This reverts commit 71da39097b67114329be6d8db7fe6911124531af, reversing changes made to 41c33bd4b2ec3f4a482e6030b6fda15091d81e4a.
* | | | | Merge pull request #27863 from robin850/api-improvementsMatthew Draper2017-02-215-16/+51
|\ \ \ \ \ | | | | | | | | | | | | Some improvements to the API site's sidebar
| * | | | | Properly nest core classes under a "Core Extensions" labelRobin Dupret2017-02-202-9/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Active Support is monkey patching a lot of core classes, let's rather document these changes under a new section so they are still documented but not encumbering the sidebar. We can safely remove the rescuing of the `LoadError` since as of cd7cc525, it's not possible to generate the API from an application. [ci skip] [Kasper Timm Hansen & Robin Dupret]
| * | | | | Avoid documenting private or external classesRobin Dupret2017-02-074-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a lot of monkey patches inside the code base but there's no need to document external constants so let's remove them from the documentation Also, since there are monkey patches for some test cases classes, there were sometimes both documented and sneaked under the wrong section in the sidebar. Finally, for future references, the `active_support/vendor` folder has been originally ignored in https://git.io/vDqfA but no longer exists. [ci skip]
* | | | | | Merge pull request #25877 from kamipo/delegate_to_scope_rather_than_mergeMatthew Draper2017-02-215-34/+29
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | Delegate to `scope` rather than `merge!` for collection proxy
| * | | | | Define `respond_to_missing?` instead of `respond_to?`Ryuta Kamizono2017-02-211-4/+4
| | | | | |
| * | | | | Cache target scope for collection proxyRyuta Kamizono2016-12-252-3/+4
| | | | | |
| * | | | | No need to cache collection proxies separatelyRyuta Kamizono2016-12-253-17/+1
| | | | | | | | | | | | | | | | | | | | | | | | Because merging the association scope was removed.
| * | | | | Delegate to `scope` rather than `merge!` for collection proxyRyuta Kamizono2016-12-252-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `merge! association.scope(nullify: false)` is expensive but most methods do not need the merge.
* | | | | | Merge pull request #28079 from ck3g/rename-osx-to-macosRobin Dupret2017-02-205-9/+9
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | Update Guides to use macOS instead of Mac OS X [ci skip]
| * | | | | [ci skip] Update Guides to use macOS instead of Mac OS XVitali Tatarintev2017-02-205-9/+9
|/ / / / /
* | | | | Merge pull request #27925 from robin850/hwia-removalKasper Timm Hansen2017-02-204-4/+49
|\ \ \ \ \ | | | | | | | | | | | | Remove the top-level `HashWithIndifferentAccess` contant
| * | | | | Deprecate the top-level `HashWithIndifferentAccess` contantRobin Dupret2017-02-194-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This constant was kept for the sake of backward compatibility; it is still available under `ActiveSupport::HashWithIndifferentAccess`. Furthermore, since Ruby 2.5 (https://bugs.ruby-lang.org/issues/11547) won't support top level constant lookup, people would have to update their code anyway.
* | | | | | Import rails-ujs v0.1.0 from rails/rails-ujsGuillermo Iguaran2017-02-2011-255/+35
| | | | | |
* | | | | | Merge pull request #28059 from y-yagi/do_not_run_git_init_inside_test_dummyGuillermo Iguaran2017-02-202-1/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Do not run `git init` in dummy application
| * | | | | | Do not run `git init` in dummy applicationyuuji.yaginuma2017-02-182-1/+2
| | | | | | |
* | | | | | | Merge pull request #28070 from kamipo/improve_create_table_force_trueGuillermo Iguaran2017-02-201-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Improve `create_table force: true`
| * | | | | | | Improve `create_table force: true`Ryuta Kamizono2017-02-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extra `data_source_exists?(table_name)` is unneeded if `drop_table(table_name, if_exists: true)` directly.
* | | | | | | | Merge pull request #28073 from bogdanvlviv/routes-in-testsGuillermo Iguaran2017-02-204-9/+8
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Add assertion to polymorphic_routes_test.rb
| * | | | | | | Set correct "routes" in tests casesbogdanvlviv2017-02-203-7/+7
| | | | | | | |
| * | | | | | | Add assertion to polymorphic_routes_test.rbbogdanvlviv2017-02-201-2/+1
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The assertion will ensure that the behavior doesn't regress. assert_equal "/projects", polymorphic_path("projects") Remove FIXME related to polymorphic_url behavior. polymorphic_url with Symbol or String works equally. Example: default_url_options[:host] = "example.com" polymorphic_url(:projects) # => "http://example.com/projects" polymorphic_url("projects") # => "http://example.com/projects" Related to 37d4415a7b433fcb987b1c6a5b51bf2d8efc5d5e
* | | | | | | Merge pull request #28013 from iguchi1124/fix-missing-namespace-wrapperGodfrey Chan2017-02-192-2/+8
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add missing module namespacing wrapper
| * | | | | | | Add test for generate namespaced integration testShota Iguchi2017-02-161-2/+6
| | | | | | | |
| * | | | | | | Add missing module namespacing wrapperShota Iguchi2017-02-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | refs: #28011
* | | | | | | | Merge pull request #28069 from st0012/change-back-frozen-stringMatthew Draper2017-02-202-2/+2
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Unfreeze interpolated string because it's unnecessary.
| * | | | | | | Unfreeze interpolated string because it's useless.Stan Lo2017-02-192-2/+2
|/ / / / / / /
* | | | | | | Share the common implementation between apps and engines.Kasper Timm Hansen2017-02-181-12/+7
| | | | | | |
* | | | | | | Merge pull request #28058 from y-yagi/follow_up_to_27608Jon Moss2017-02-172-23/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove deprecate passing string to `:if` and `:unless` conditional options [ci skip]
| * | | | | | | Remove deprecate passing string to `:if` and `:unless` conditional options ↵yuuji.yaginuma2017-02-182-23/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip] Follow up to #27608
* | | | | | | Merge pull request #28049 from notapatch/masterJon Moss2017-02-171-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Change engines guide to demonstrate maintained forum
| * | | | | | | Change engines guide to demonstrate maintained forumRichard2017-02-171-1/+1
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Rails engine guide to references a maintained project Thredded instead of the abandoned project Forem. I chose Thredded as Forem's closing note (below) suggests the choice. https://github.com/rubysherpas/forem/blob/rails4/README.md