diff --git a/config/environments/test.rb b/config/environments/test.rb index 085bb94540..6f54e40134 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -1,17 +1,33 @@ -Openfoodnetwork::Application.configure do - # Settings specified here will take precedence over those in config/application.rb +require "active_support/core_ext/integer/time" - # 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! +# 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! + +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Turn false under Spring and add config.action_view.cache_template_loading = true. config.cache_classes = false + # Eager loading loads your whole application. When running a single test locally, + # this probably isn't necessary. It's a good idea to do in a continuous integration + # system, or in some way before deploying your code. + # config.eager_load = ENV["CI"].present? config.eager_load = false - # Configure static asset server for tests with Cache-Control for performance + config.time_zone = ENV.fetch("TIMEZONE", "UTC") + + # 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=3600' } + 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 # Separate cache stores when running in parallel config.cache_store = :redis_cache_store, { @@ -20,40 +36,31 @@ Openfoodnetwork::Application.configure do reconnect_attempts: 1 } - # 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 + # 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 + # 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 - # Tests should fail when translations are missing. - config.i18n.raise_on_missing_translations = true - - config.time_zone = ENV.fetch("TIMEZONE", "UTC") - - # Tests assume English text on the site. - config.i18n.default_locale = "en" - config.i18n.available_locales = ['en', 'es', 'pt'] - config.i18n.fallbacks = [:en] - I18n.locale = config.i18n.locale = config.i18n.default_locale - - # Use SQL instead of Active Record's schema dumper when creating the test database. - # This is necessary if your schema can't be completely dumped by the schema dumper, - # like if you have constraints or database-specific column types - # config.active_record.schema_format = :sql - - # Print deprecation notices to the stderr + # Print deprecation notices to the stderr. # config.active_support.deprecation = :stderr + # Raise exceptions for disallowed deprecations. + config.active_support.disallowed_deprecation = :raise + + # Tell Active Support which deprecation messages to disallow. + config.active_support.disallowed_deprecation_warnings = [] + # Fail tests on deprecated code unless it's a known case to solve. Rails.application.deprecators.behavior = ->(message, callstack, deprecator) do allowed_warnings = [ @@ -82,5 +89,17 @@ Openfoodnetwork::Application.configure do end end + # Raises error for missing translations. + config.i18n.raise_on_missing_translations = true + + # Tests assume English text on the site. + config.i18n.default_locale = "en" + config.i18n.available_locales = ['en', 'es', 'pt'] + config.i18n.fallbacks = [:en] + I18n.locale = config.i18n.locale = config.i18n.default_locale + + # Annotate rendered view with file names. + # config.action_view.annotate_rendered_view_with_filenames = true + config.active_job.queue_adapter = :test end