1use strict; 2use warnings; 3 4use Test::More; 5use lib qw(t/lib); 6use DBICTest; 7 8my $tests = 3; 9plan tests => $tests; 10 11my $schema = DBICTest->init_schema(); 12my $rs = $schema->resultset ('Artist'); 13my $last_obj = $rs->search ({}, { order_by => { -desc => 'artistid' }, rows => 1})->single; 14my $last_id = $last_obj ? $last_obj->artistid : 0; 15 16my $obj; 17eval { $obj = $rs->create ({}) }; 18my $err = $@; 19 20ok ($obj, 'Insert defaults ( $rs->create ({}) )' ); 21SKIP: { 22 skip "Default insert failed: $err", $tests-1 if $err; 23 24 # this should be picked up without calling the DB again 25 is ($obj->artistid, $last_id + 1, 'Autoinc PK works'); 26 27 # for this we need to refresh 28 $obj->discard_changes; 29 is ($obj->rank, 13, 'Default value works'); 30} 31 32