Sha256: dea863d47886654499d68102c966734c82ad226c5f8fb8ae8fe4051a1dd7f3da

Contents?: true

Size: 1.08 KB

Versions: 7

Compression:

Stored size: 1.08 KB

Contents

require "test_helper"

class InstanceConfigurationTest < ActiveSupport::TestCase

  setup do
    @config = Iqvoc::InstanceConfiguration.instance
  end

  teardown do
    @config = nil
    # TODO: unset singleton?
  end

  test "should require a setting to be registered upfront" do
    assert_raise Iqvoc::InstanceConfiguration::UnregisteredSetting do
      @config["foo"] = "bar"
    end
  end

  test "should register settings with defaults" do
    @config.register_setting("ho", "yuken")
    assert_equal "yuken", @config["ho"]

    @config.register_settings("ha" => "douken")
    assert_equal "douken", @config["ha"]
  end

  test "should deregister settings" do
    @config.register_setting("country", "germany")
    assert_equal "germany", @config.deregister_setting("country")
    assert_nil @config["germany"]
  end

  test "should validate values" do
    @config.register_setting("foo", "bar")

    assert_raise(TypeError) { @config["foo"] = nil }
    assert_raise(TypeError) { @config.register_setting("foo", nil) }
    assert_raise(TypeError) { @config.register_setting("foo", Hash.new) }
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
iqvoc-4.0.2 test/unit/instance_configuration_test.rb
iqvoc-4.0.1 test/unit/instance_configuration_test.rb
iqvoc-4.0.0 test/unit/instance_configuration_test.rb
iqvoc-3.5.7 test/unit/instance_configuration_test.rb
iqvoc-3.5.6 test/unit/instance_configuration_test.rb
iqvoc-3.5.5 test/unit/instance_configuration_test.rb
iqvoc-3.5.4 test/unit/instance_configuration_test.rb