Sha256: f5cd35f52fb59759c533185330c23e9bfec1262fcea4e5f926cd8a3e38051312

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

require_relative "../test_helper"

module Unit
  class TestQuery < MiniTest::Test

    describe DirectiveRecord::Query do
      describe ".new" do
        it "returns the appropriate query instance" do
          instance = mock
          instance.expects(:new).with(Office).returns("SELECT * FROM offices")
          DirectiveRecord::Query.expects(:class_for).with("activerecord::connectionadapters::mysql2adapter").returns(instance)
          assert_equal "SELECT * FROM offices", DirectiveRecord::Query.new(Office)
        end
      end

      describe ".class_for" do
        describe "when MySQL" do
          it "returns the DirectiveRecord::Query::MySQL class" do
            assert_equal DirectiveRecord::Query::MySQL, DirectiveRecord::Query.send(:class_for, "activerecord::connectionadapters::mysql2adapter")
          end
        end

        describe "when else" do
          it "raises a NotImplementedError" do
            assert_raises NotImplementedError do
              DirectiveRecord::Query.send(:class_for, "foobar::connection")
            end
          end
        end
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
directiverecord-0.1.1 test/unit/test_query.rb