X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Frun%2F04db.tl;h=57aa819049fcd878df16f7f7812011d40e09b162;hb=8fcf21b3a6e010f16ff278b9170a14a0858da388;hp=d46c65631ec3969b9d8bb0dfba14c2d1dacb05f4;hpb=0567538f9dcf59ff0dcf0fe766815b242115ce20;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/t/run/04db.tl b/t/run/04db.tl index d46c656..57aa819 100644 --- a/t/run/04db.tl +++ b/t/run/04db.tl @@ -1,44 +1,48 @@ sub run_tests { +my $schema = shift; plan tests => 3; # add some rows inside a transaction and commit it # XXX: Is storage->dbh the only way to get a dbh? -DBICTest::Artist->storage->dbh->{AutoCommit} = 0; +$schema->storage->txn_begin; for (10..15) { - DBICTest::Artist->create( { + $schema->resultset("Artist")->create( { artistid => $_, name => "artist number $_", } ); } -DBICTest::Artist->dbi_commit; -my ($artist) = DBICTest::Artist->find(15); +$schema->storage->txn_commit; +my ($artist) = $schema->resultset("Artist")->find(15); is($artist->name, 'artist number 15', "Commit ok"); -# repeat the test using AutoCommit = 1 to force the commit -DBICTest::Artist->storage->dbh->{AutoCommit} = 0; -for (16..20) { - DBICTest::Artist->create( { - artistid => $_, - name => "artist number $_", - } ); -} -DBICTest::Artist->storage->dbh->{AutoCommit} = 1; -($artist) = DBICTest::Artist->find(20); -is($artist->name, 'artist number 20', "Commit using AutoCommit ok"); - # add some rows inside a transaction and roll it back -DBICTest::Artist->storage->dbh->{AutoCommit} = 0; +$schema->storage->txn_begin; for (21..30) { - DBICTest::Artist->create( { + $schema->resultset("Artist")->create( { artistid => $_, name => "artist number $_", } ); } -DBICTest::Artist->dbi_rollback; -($artist) = DBICTest::Artist->search( artistid => 25 ); +$schema->storage->txn_rollback; +($artist) = $schema->resultset("Artist")->search( artistid => 25 ); is($artist, undef, "Rollback ok"); +my $type_info = $schema->storage->columns_info_for('artist'); +my $test_type_info = { + 'artistid' => { + 'data_type' => 'INTEGER', + 'is_nullable' => 0, + 'size' => undef, + }, + 'name' => { + 'data_type' => 'varchar', + 'is_nullable' => 0, + 'size' => 100, + } +}; +is_deeply($type_info, $test_type_info, 'columns_info_for - column data types'); + } 1;