shard-crystal-db/spec/std/db/db_spec.cr
Brian J. Cardiff d01da912f7 code review notes
close / do_close in result_set
avoid closing statements
remove named arguments
refactor positioned arguments query
2016-02-25 22:25:55 -03:00

59 lines
1.3 KiB
Crystal

require "spec"
require "db"
require "./dummy_driver"
describe DB do
it "should get driver class by name" do
DB.driver_class("dummy").should eq(DummyDriver)
end
it "should instantiate driver with connection_string" do
db = DB.open "dummy", "localhost:1027"
db.driver_class.should eq(DummyDriver)
db.connection_string.should eq("localhost:1027")
end
it "should create a connection and close it" do
cnn = nil
DB.open "dummy", "localhost" do |db|
cnn = db.connection
end
cnn.should be_a(DummyDriver::DummyConnection)
cnn.not_nil!.closed?.should be_true
end
it "query should close result_set" do
with_witness do |w|
with_dummy do |db|
db.query "1,2" do
break
end
w.check
DummyDriver::DummyResultSet.last_result_set.closed?.should be_true
end
end
end
it "exec should close statement" do
with_dummy do |db|
db.exec ""
DummyDriver::DummyResultSet.last_result_set.closed?.should be_true
end
end
it "scalar should close statement" do
with_dummy do |db|
db.scalar "1"
DummyDriver::DummyResultSet.last_result_set.closed?.should be_true
end
end
it "exec should perform statement" do
with_dummy do |db|
db.exec ""
DummyDriver::DummyResultSet.last_result_set.executed?.should be_true
end
end
end