Sha256: af75fd33a2a2d28f5f65d053d4cab602d9e8d7af247ac86b2392b300cd994690
Contents?: true
Size: 1.66 KB
Versions: 2
Compression:
Stored size: 1.66 KB
Contents
require "spec_helper" describe Baza::Driver::Sqlite3 do let(:constant) do name = described_class.name.split("::").last const_name = "InfoSqlite3" require "#{File.dirname(__FILE__)}/../#{StringCases.camel_to_snake(const_name)}" raise "Constant was not defined: '#{const_name}'." unless Baza.const_defined?(const_name) Baza.const_get(const_name) end it_behaves_like "a baza driver" it_should_behave_like "a baza tables driver" it_should_behave_like "a baza columns driver" it_should_behave_like "a baza indexes driver" it "should copy database structure and data" do require "info_sqlite3" db = Baza::InfoSqlite3.new.db db2 = Baza::InfoSqlite3.new.db db.tables.create(:test_table, { columns: [ {name: "id", type: :int, autoincr: true, primarykey: true}, {name: "testname", type: :varchar, null: true} ], indexes: [ "testname" ] }) table1 = db.tables["test_table"] cols1 = table1.columns 100.times do |count| table1.insert(testname: "TestRow#{count}") end expect { table2 = db2.tables[:test_table] }.to raise_error(Errno::ENOENT) db.copy_to(db2) table2 = db2.tables[:test_table] cols2 = table2.columns cols2.length.should eql(cols1.length) table2.rows_count.should eql(table1.rows_count) db.select(:test_table) do |row1| found = 0 db2.select(:test_table, row1) do |row2| found += 1 row1.each do |key, val| row2[key].should eql(val) end end found.should eq 1 end table1.indexes.length.should eq 1 table2.indexes.length.should eq table1.indexes.length end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
baza-0.0.19 | spec/drivers/sqlite3_spec.rb |
baza-0.0.18 | spec/drivers/sqlite3_spec.rb |