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