* Add dual booting logic to Gemfile This might be helpful for the Rails 6.0 upgrade project. * Add more than one gemfile to Travis' configuration We want to see how the application behaves with more than one Rails versions: - Gemfile -> Rails 5.2 - Gemfile.next -> Rails 6.0 This will help us figure out what needs to be addressed before migrating to Rails 6.0. If you want to read more about this technique (dual booting) you can check out this page: https://www.fastruby.io/blog/upgrade-rails/dual-boot/dual-boot-with-rails-6-0-beta.html * Fix joins * Upgrade Gemfile.next.lock * Make sure we're installing the correct versions of gems * Add Rails 6 notes * Update rubocop in Gemfile.next.lock * Fix organization spec * Fix page_views_spec * Add Rails 6 and run rails app:update * Remove some tricks * Remove Gemfile.next for now * Fix .content_type deprecation * Fix deprecation of .where.not NAND/NOR behavior * Fix deprecation of parameterized emails * Fix specs * Remove next flag for now * Fix spec (hopefully) * Add wait_for_javascript * Fix spec, thanks @maestromac! * Try without wait for javascript hack * Remove unnecessary bin/update * Remove file that snuck in the rebase * Update the vendored gems * Replace migrate+db:setup with db:prepare * Update vendored gems * Fix Gemfile.lock and update vendored stuff * Fix Gemfile.lock to be the same as master's minus the changes Co-authored-by: rhymes <rhymesete@gmail.com>
80 lines
3.3 KiB
Ruby
80 lines
3.3 KiB
Ruby
# Silence all Ruby 2.7 deprecation warnings
|
|
$VERBOSE = nil
|
|
|
|
Rails.application.configure do
|
|
# Settings specified here will take precedence over those in config/application.rb.
|
|
|
|
# The test environment is used exclusively to run your application's
|
|
# test suite. You never need to work with it otherwise. Remember that
|
|
# your test database is "scratch space" for the test suite and is wiped
|
|
# and recreated between test runs. Don't rely on the data there!
|
|
config.cache_classes = true
|
|
|
|
# NOTE: [Rails 6] this is the default store in testing,
|
|
# as we haven't enabled Rails 6.0 defaults in config/application.rb,
|
|
# we need to keep this explicit, for now
|
|
config.cache_store = :null_store
|
|
|
|
# Do not eager load code on boot. This avoids loading your whole application
|
|
# just for the purpose of running a single test. If you are using a tool that
|
|
# preloads Rails for running tests, you may have to set it to true.
|
|
config.eager_load = false
|
|
|
|
# Configure public file server for tests with Cache-Control for performance.
|
|
config.public_file_server.enabled = true
|
|
config.public_file_server.headers = {
|
|
"Cache-Control" => "public, max-age=#{1.hour.to_i}"
|
|
}
|
|
|
|
# Show full error reports and disable caching.
|
|
config.consider_all_requests_local = true
|
|
config.action_controller.perform_caching = false
|
|
|
|
# Raise exceptions instead of rendering exception templates.
|
|
config.action_dispatch.show_exceptions = false
|
|
|
|
# Disable request forgery protection in test environment.
|
|
config.action_controller.allow_forgery_protection = false
|
|
|
|
# Store uploaded files on the local file system in a temporary directory
|
|
# config.active_storage.service = :test
|
|
|
|
config.action_mailer.perform_caching = false
|
|
|
|
# Tell Action Mailer not to deliver emails to the real world.
|
|
# The :test delivery method accumulates sent emails in the
|
|
# ActionMailer::Base.deliveries array.
|
|
config.action_mailer.delivery_method = :test
|
|
|
|
# Additional setting to make test work. This is possibly useless and can be deleted.
|
|
config.action_mailer.default_url_options = { host: "test.host" }
|
|
|
|
# Randomize the order test cases are executed.
|
|
config.active_support.test_order = :random
|
|
|
|
# Print deprecation notices to the stderr.
|
|
config.active_support.deprecation = :stderr
|
|
|
|
# Raises error for missing translations
|
|
# config.action_view.raise_on_missing_translations = true
|
|
|
|
config.active_job.queue_adapter = :test
|
|
|
|
# Debug is the default log_level, but can be changed per environment.
|
|
config.log_level = :debug
|
|
|
|
# enable Bullet in testing mode only if requested
|
|
config.after_initialize do
|
|
Bullet.enable = true
|
|
Bullet.raise = true
|
|
|
|
Bullet.add_whitelist(type: :unused_eager_loading, class_name: "ApiSecret", association: :user)
|
|
# acts-as-taggable-on has super weird eager loading problems: <https://github.com/mbleigh/acts-as-taggable-on/issues/91>
|
|
Bullet.add_whitelist(type: :n_plus_one_query, class_name: "ActsAsTaggableOn::Tagging", association: :tag)
|
|
# Supress incorrect warnings from Bullet due to included columns: https://github.com/flyerhzm/bullet/issues/147
|
|
Bullet.add_whitelist(type: :unused_eager_loading, class_name: "Article", association: :top_comments)
|
|
Bullet.add_whitelist(type: :unused_eager_loading, class_name: "Comment", association: :user)
|
|
end
|
|
end
|
|
|
|
Rails.application.routes.default_url_options = { host: "test.host" }
|