aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application/rake_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Compile packs before run testyuuji.yaginuma2018-11-221-1/+4
| | | | | | | | | | | | Sometimes `test_scaffold_tests_pass_by_default` test fails in CI. https://travis-ci.org/rails/rails/jobs/457621750#L2095-L2120 It seems `manifest.json` was broken. `webpacker` will compile automatically if packs is not compiled. If parallel test is enabled, it seems that this compilation process is executed simultaneously in multiple processes, and it may become an inconsistent state. In order to avoid this, compile before running the test.
* Compile packs for testyuuji.yaginuma2018-11-081-2/+4
| | | | | `Webpacker` handles testing / development packs separately by default. If do not specify `RAILS_ENV`, there is no merit to precompile.
* Make Webpacker the default JavaScript compiler for Rails 6 (#33079)David Heinemeier Hansson2018-09-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use Webpacker by default on new apps * Stop including coffee-rails by default * Drop using a js_compressor by default * Drop extra test for coffeescript inclusion by default * Stick with skip_javascript to signify skipping webpack * Don't install a JS runtime by default any more * app/javascript will be the new default directory for JS * Make it clear that this is just for configuring the default Webpack framework setup now * Start using the Webpack tag in the default layout * Irrelevant test * jQuery is long gone * Stop having asset pipeline compile default application.js * Add rails-ujs by default to the Webpack setup * Add Active Storage JavaScript to application.js pack by default * Consistent quoting * Add Turbolinks to default pack * Add Action Cable to default pack Need some work on how to set the global consumer that channels will work with. @javan? * Require all channels by default and use a separate consumer stub * Channel generator now targets Webpack style * Update task docs to match new generator style * Use uniform import style * Drop the JS assets generator It was barely helpful as it was. It’s no longer helpful in a Webpacked world. Sayonara! * Add app/javascript to the stats directories * Simpler import style Which match the other imports. * Address test failures from dropping JS compilation (and compression) * webpacker-default: Modify `AssetsGeneratorTest` Before: ``` $ bin/test test/generators/assets_generator_test.rb Run options: --seed 46201 F Failure: AssetsGeneratorTest#test_assets [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/assets_generator_test.rb:12]: Expected file "app/assets/javascripts/posts.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/assets_generator_test.rb:10 . Finished in 0.031343s, 63.8101 runs/s, 95.7152 assertions/s. 2 runs, 3 assertions, 1 failures, 0 errors, 0 skips ``` After: ``` $ bin/test test/generators/assets_generator_test.rb Run options: --seed 43571 .. Finished in 0.030370s, 65.8545 runs/s, 65.8545 assertions/s. 2 runs, 2 assertions, 0 failures, 0 errors, 0 skips ``` * webpacker-default: Modify `ChannelGeneratorTest` Before: ``` $ bin/test test/generators/channel_generator_test.rb Run options: --seed 8986 .F Failure: ChannelGeneratorTest#test_channel_with_multiple_actions_is_created [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:43]: Expected file "app/assets/javascripts/channels/chat.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:34 .F Failure: ChannelGeneratorTest#test_channel_is_created [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:29]: Expected file "app/assets/javascripts/channels/chat.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:22 E Error: ChannelGeneratorTest#test_cable_js_is_created_if_not_present_already: Errno::ENOENT: No such file or directory @ apply2files - /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/fixtures/tmp/app/assets/javascripts/cable.js bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:60 F Failure: ChannelGeneratorTest#test_channel_suffix_is_not_duplicated [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:87]: Expected file "app/assets/javascripts/channels/chat.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:80 F Failure: ChannelGeneratorTest#test_channel_on_revoke [/Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:77]: Expected file "app/assets/javascripts/cable.js" to exist, but does not bin/test /Users/ttanimichi/ghq/github.com/ttanimichi/rails/railties/test/generators/channel_generator_test.rb:68 Finished in 0.064384s, 108.7227 runs/s, 481.4861 assertions/s. 7 runs, 31 assertions, 4 failures, 1 errors, 0 skips ``` After: ``` $ bin/test test/generators/channel_generator_test.rb Run options: --seed 44857 ....... Finished in 0.060243s, 116.1961 runs/s, 697.1764 assertions/s. 7 runs, 42 assertions, 0 failures, 0 errors, 0 skips ``` * Fix shared generator tests. * webpacker-default: Modify `ControllerGeneratorTest` The JS assets generator was dropped. ref. https://github.com/rails/rails/commit/46215b179483d3e4d264555f5a4952f43eb8142a * Revert "Simpler import style". It's currently failing with an error of "TypeError: undefined is not an object (evaluating '__WEBPACK_IMPORTED_MODULE_2_activestorage___default.a.start')". Waiting for @javan to have a look. This reverts commit 5d3ebb71059f635d3756cbda4ab9752027e09256. * require webpacker in test app * Add webpacker without making the build hang/timeout. (#33640) * use yarn workspaces to allow for installing unreleased packages and only generate js/bootsnap when required * no longer need to have webpacker in env templates as webpacker moved this config to yml file * Fix rubocop violation * Got the test passing for the running scaffold * update expected lines of code * update middleware tests to account for webpacker * disable js in plugins be default to get the tests passing (#34009) * clear codeclimate report issues * Anything newer than currently released is good * Use Webpacker development version during development of Rails * Edge should get development webpacker as well * Add changelog entry for Webpacker change
* Replace `assert !` with `assert_not`Daniel Colson2018-04-191-1/+1
| | | | | This autocorrects the violations after adding a custom cop in 3305c78dcd.
* Autocorrect `refute` RuboCop violationsDaniel Colson2018-04-031-1/+1
| | | | | | 73e7aab behaved as expected on codeship, failing the build with exactly these RuboCop violations. Hopefully `rubocop -a` will have been enough to get a passing build!
* Add --expanded option to "rails routes"Benoit Tigeot2018-02-281-40/+0
| | | | | | | | | | | | | | | | | | | | | | | | | When using rails routes with small terminal or complicated routes it can be very difficult to understand where is the element listed in header. psql had the same issue, that's why they created "expanded mode" you can switch using `\x` or by starting psql with ``` -x --expanded Turn on the expanded table formatting mode. This is equivalent to the \x command. ``` The output is similar to one implemented here for rails routes: db_user-# \du List of roles -[ RECORD 1 ]---------------------------------------------- Role name | super Attributes | Superuser, Create role, Create DB Member of | {} -[ RECORD 2 ]---------------------------------------------- Role name | role Attributes | Superuser, Create role, Create DB, Replication Member of | {}
* Move rake routes task to rails commandBenoit Tigeot2018-02-271-111/+0
| | | | | | After a discussion with matthewd. It was mentioned that rake tasks need to be moved to rails command. See: https://github.com/rails/rails/issues/32117
* Remove usage of strip_heredoc in the framework in favor of <<~Rafael Mendonça França2018-02-161-6/+5
| | | | | Some places we can't remove because Ruby still don't have a method equivalent to strip_heredoc to be called in an already existent string.
* Expose Active Storage routesMehmet Emin INAC2017-12-131-13/+32
|
* Remove unnecessary `allow_failure: true` optionyuuji.yaginuma2017-10-181-1/+1
| | | | | `routes` task always returns zero to status, so status is not to non-zeno. Ref: https://github.com/rails/rails/blob/b1867c480dd5476948ff0492ea2f91e2c2fcb04b/railties/lib/rails/tasks/routes.rake#L30
* Improve RakeTest#test_db_test_prepare_when_using_sql_formatbogdanvlviv2017-10-081-3/+1
| | | | | - Remove redundant setting `RAILS_ENV` for `db:test:prepare`. `db:test:prepare` doesn't require it.
* Invoke rails command inside the railties' test app with ↵bogdanvlviv2017-10-081-13/+9
| | | | | | TestHelpers::Generation#rails See #30520
* Remove redundant execution of `Dir.chdir(app_path) { }` in railties' testsbogdanvlviv2017-10-081-9/+7
|
* Don't expose Active Storage routesyuuji.yaginuma2017-09-161-28/+13
| | | | | | | These routes are only used internally in Active Storage, and it seems that there is no need for the user to directly use them. Therefore, I think that routes should not be exposed to users.
* Run in-app rails commands via fork+load where possibleMatthew Draper2017-09-041-71/+55
| | | | | While this avoids shell argument parsing, we still pass through everything in our stack.
* Adding frozen_string_literal pragma to Railties.Pat Allan2017-08-141-0/+2
|
* Active Storage routes are now part of the default routesDavid Heinemeier Hansson2017-08-031-9/+37
| | | | It's worth considering whether we should hide these by default, but I'm kinda thinking no. It's very reasonable that someone would want to call these directly, so they should be documented.
* Protect from forgery by defaultLisa Ugray2017-07-101-1/+1
| | | | | | | | Rather than protecting from forgery in the generated ApplicationController, add it to ActionController::Base by config. This configuration defaults to false to support older versions which have removed it from their ApplicationController, but is set to true for Rails 5.2.
* Move test related to `tmp:clear` task to `tmp_test.rb`yuuji.yaginuma2017-07-021-7/+0
|
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-021-1/+0
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-011-0/+1
|
* Fix style guide violationsRafael Mendonça França2017-01-051-1/+0
|
* Remove test to the db:test:cloneRafael Mendonça França2017-01-031-10/+0
|
* Remove deprecated CONTROLLER environment variable for routes taskRafael Mendonça França2017-01-031-42/+25
|
* Use YAML to serialize schema cacheKir Shatrov2016-11-271-2/+2
|
* Add missing test for singular resource output in rake routesPrathamesh Sonpatki2016-11-191-0/+20
| | | | | | | | - This test was present in https://github.com/rails/rails/pull/27089 but not present on master, may be removed in merge commit? - There was discussion about moving this to `application/rake_test` so may be this happened in merge commit. - https://github.com/rails/rails/pull/27089#discussion_r88731157
* Fix incorrect output from rails routes when using singular resources issue ↵Erick Reyna2016-11-181-3/+3
| | | | | | | | | | #26606 Rails routes (even rake routes in previous versions) output showed incorrect routes when an application use resource :controller, implying that edit_controller_path match with controller#show. The order of the output has changed to correct this. View #26606 for more information. Added a test case, change unit test in rake to expect the new output. Since the output of resource :controller is changing, the string spected of the railties/test/application/rake_test.rb test_rails_routes_with_controller_environment had to be modified.
* Add three new rubocop rulesRafael Mendonça França2016-08-161-16/+16
| | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* applies new string literal convention in railties/testXavier Noria2016-08-061-11/+11
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* Remove unused boot_rails method and it's usagePrathamesh Sonpatki2016-07-041-1/+0
| | | | | - The `boot_rails` method from abstract_unit.rb is empty after 2abcdfd978fdcd491576a237e8c6b. - So let's remove it and its usage.
* Fix assertion count after 69e1bb52.Kasper Timm Hansen2016-05-281-2/+2
| | | | | | | | | | | | | | | When changing the generated integration tests to assert redirects with an absolute path this redirection check in `assert_redirected_to` against the absolute response location would now pass: https://github.com/rails/rails/blob/af245aaf3a1c447752a1b5895adddc66e5f73c00/actionpack/lib/action_dispatch/testing/assertions/response.rb#L55 Thus we'd break early instead of hitting `assert_operator` and have 2 fewer assertions per `assert_redirected_to` as `assert_operator` is composed of 2 assertions internally: https://github.com/seattlerb/minitest/blob/4e146b1515b19a5c474e39c174b037510f6dbc6e/lib/minitest/assertions.rb#L254-L258 Deduct 2 assertions for 2 redirects taking the expected count down by 4 in total for the two failing tests.
* Merge pull request #24696 from y-yagi/remove_unnessary_option_settingKasper Timm Hansen2016-04-251-0/+11
|\ | | | | remove unnessary option setting from test runner
| * register rake options to `OptionParser`yuuji.yaginuma2016-04-251-0/+11
| | | | | | | | | | In order to prevent `OptionParser::ParseError` when specify the rake options to `routes` task.
* | Fix broken build, channel files are also included in `bin/rails stats` nowPrathamesh Sonpatki2016-04-241-2/+2
|/ | | | - Followup of https://github.com/rails/rails/pull/24709.
* Fix indentation [ci skip]Ryuta Kamizono2016-03-051-1/+1
| | | | Follow up to #24050.
* making a test definition more clear.Mohit Natoo2016-03-041-1/+1
|
* [ci skip] using correcting test case names specifying `rails routes` instead ↵Mohit Natoo2016-03-041-6/+6
| | | | of `rake routes`
* convert cable.coffee to cable.jsyuuji.yaginuma2016-02-281-1/+1
| | | | In order to eliminate the dependecy of CoffeeScript.
* The tasks in the rails task namespace is deprecated in favor of app namespace.Ryo Hashimoto2016-02-261-2/+2
| | | | (e.g. `rails:update` and `rails:template` tasks is renamed to `app:update` and `app:template`.)
* Enable Action Cable routes by defaultJon Moss2016-02-241-1/+1
| | | | This also marks Action Cable routes as internal to Rails.
* Merge pull request #23611 from abhishekjain16/routes_optionsKasper Timm Hansen2016-02-121-1/+9
|\ | | | | Fix routes to match verb and URL path with -g option also.
| * Fixes routes to match verbs and path with -g optionAbhishek Jain2016-02-111-1/+9
| |
* | set association name to generated fixtures if attribute is referenceyuuji.yaginuma2016-02-061-5/+4
|/ | | | | | | It has been changed to require `belongs_to` by default in Rails 5. Therefore in order to pass the controller test, have association of set to fixtures. Fixes #23384
* use rails command in routes taskyuuji.yaginuma2016-02-031-7/+7
| | | | | For other task has become to use the rails command at doc and test, I think that routes task also it is better to use the rails command.
* Add options for rake routes taskVipul A M2016-02-021-2/+61
| | | | | | | | | | Add two options: `-c` and `-g`. `-g` option returns the urls name, verb and path fields that match the pattern. `-c` option returns the urls for specific controller. Fixes #18902, and Fixes #20420 [Anton Davydov & Vipul A M]
* Be consistent in testing outputs from railties test and use /bin/rails ↵Vipul A M2016-01-241-31/+31
| | | | | | everywhere(the default behaviour now) instead of mix of /bin/rake /bin/rails everywhere [Ryo Hashimoto & Vipul A M]
* remove warnings from rake testyuuji.yaginuma2016-01-111-2/+2
| | | | | | | | | This removes the following warnings. ``` test/application/rake_test.rb:33: warning: ambiguous first argument; put parentheses or a space even after `/' operator test/application/rake_test.rb:43: warning: ambiguous first argument; put parentheses or a space even after `/' operator ```
* Merge pull request #22967 from schneems/schneems/generic-metadataSean Griffin2016-01-081-0/+20
|\ | | | | Prevent destructive action on production database
| * Prevent destructive action on production databaseschneems2016-01-071-0/+20
| | | | | | | | | | | | | | This PR introduces a key/value type store to Active Record that can be used for storing internal values. It is an alternative implementation to #21237 cc @sgrif @matthewd. It is possible to run your tests against your production database by accident right now. While infrequently, but as an anecdotal data point, Heroku receives a non-trivial number of requests for a database restore due to this happening. In these cases the loss can be large. To prevent against running tests against production we can store the "environment" version that was used when migrating the database in a new internal table. Before executing tests we can see if the database is a listed in `protected_environments` and abort. There is a manual escape valve to force this check from happening with environment variable `DISABLE_DATABASE_ENVIRONMENT_CHECK=1`.
* | ApplicationMailer should be generated by default just like every other ↵David Heinemeier Hansson2015-12-171-1/+1
| | | | | | | | Application* parent