Sha256: f2e14936d0b4786efff381c421883e31277a2905a275bdb9579c3950aca5961d

Contents?: true

Size: 971 Bytes

Versions: 18

Compression:

Stored size: 971 Bytes

Contents

# frozen_string_literal: true

RSpec.describe "Settings / Access to constants", :app_integration do
  before do
    @env = ENV.to_h
  end

  after do
    ENV.replace(@env)
  end

  specify "Settings can not access autoloadable constants" do
    with_directory(make_tmp_directory) do
      write "config/app.rb", <<~'RUBY'
        require "hanami"

        module TestApp
          class App < Hanami::App
          end
        end
      RUBY

      write "config/settings.rb", <<~'RUBY'
        module TestApp
          class Settings < Hanami::Settings
            setting :some_flag, constructor: TestApp::Types::Params::Bool
          end
        end
      RUBY

      write "app/types.rb", <<~'RUBY'
        # auto_register: false

        require "dry/types"

        module TestApp
          Types = Dry.Types()
        end
      RUBY

      require "hanami/setup"

      expect { Hanami.app.settings }.to raise_error(NameError, /TestApp::Types/)
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
hanami-2.2.1 spec/integration/settings/access_to_constants_spec.rb
hanami-2.2.0 spec/integration/settings/access_to_constants_spec.rb
hanami-2.2.0.rc1 spec/integration/settings/access_to_constants_spec.rb
hanami-2.2.0.beta2 spec/integration/settings/access_to_constants_spec.rb
hanami-2.2.0.beta1 spec/integration/settings/access_to_constants_spec.rb
hanami-2.1.0 spec/integration/settings/access_to_constants_spec.rb
hanami-2.1.0.rc3 spec/integration/settings/access_to_constants_spec.rb
hanami-2.1.0.rc2 spec/integration/settings/access_to_constants_spec.rb
hanami-2.1.0.rc1 spec/integration/settings/access_to_constants_spec.rb
hanami-2.1.0.beta2.1 spec/integration/settings/access_to_constants_spec.rb
hanami-2.1.0.beta2 spec/integration/settings/access_to_constants_spec.rb
hanami-2.1.0.beta1 spec/integration/settings/access_to_constants_spec.rb
hanami-2.0.3 spec/integration/settings/access_to_constants_spec.rb
hanami-2.0.2 spec/integration/settings/access_to_constants_spec.rb
hanami-2.0.1 spec/integration/settings/access_to_constants_spec.rb
hanami-2.0.0 spec/integration/settings/access_to_constants_spec.rb
hanami-2.0.0.rc1 spec/integration/settings/access_to_constants_spec.rb
hanami-2.0.0.beta4 spec/integration/settings/access_to_constants_spec.rb