Sha256: 4f084099ce532aae7d3bb70c1a5801275f1e94147264e774f91d6e1e5f3f7c1a

Contents?: true

Size: 1.62 KB

Versions: 3

Compression:

Stored size: 1.62 KB

Contents

require 'assert'
require 'ns-options/assert_macros'
require 'ardb'

class Ardb::Config

  class BaseTests < Assert::Context
    include NsOptions::AssertMacros
    desc "Ardb::Config"
    subject{ Ardb::Config }

    should have_namespace :db
    should have_option  :root_path, Pathname, :required => true
    should have_option  :logger, :required => true
    should have_options :migrations_path, :schema_path
    should have_imeth   :db_settings

    should "should use `db/migrations` as the default migrations path" do
      exp_path = Pathname.new(TESTDB_PATH).join("db/migrations").to_s
      assert_equal exp_path, subject.migrations_path
    end

    should "should use `db/schema.rb` as the default schema path" do
      exp_path = Pathname.new(TESTDB_PATH).join("db/schema.rb").to_s
      assert_equal exp_path, subject.schema_path
    end

    should "build the db connection settings from the db configs" do
      # returns only non-nil values with string keys
      exp = {
        'adapter'  => "postgresql",
        'database' => "ardbtest"
      }
      assert_equal exp, subject.db_settings
    end

  end

  class DbTests < BaseTests
    desc "db namespace"
    subject{ Ardb::Config.db }

    should have_option :adapter,  String,  :required => true
    should have_option :database, String,  :required => true
    should have_option :encoding, String,  :required => false
    should have_option :host,     String,  :required => false
    should have_option :port,     Integer, :required => false
    should have_option :username, String,  :required => false
    should have_option :password, String,  :required => false

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ardb-0.5.0 test/unit/config_tests.rb
ardb-0.4.1 test/unit/config_tests.rb
ardb-0.4.0 test/unit/config_tests.rb