ENV["RAILS_ENV"] ||= "test"
require_relative "../config/environment"
require "rails/test_help"

class ActiveSupport::TestCase
  # Run tests in parallel with specified workers
  parallelize(workers: :number_of_processors)

  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
  fixtures :all

  # Add more helper methods to be used by all tests here...
  def login(email, password = "secret")
    post sessions_url, params: { session: { email: email, password: password } }
    assert session[:current_user_id].present?
  end

  def stub_environment(env)
    old_env = ENV.to_hash
    ENV.update(env.stringify_keys)

    begin
      yield
    ensure
      ENV.replace(old_env)
    end
  end
end