1 BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
10 # basically copies the test for retrieve_on_insert due to its
11 # similarity in nature
13 my $schema = DBICTest->init_schema( quote_names => 1 );
15 my $rs = $schema->resultset ('Artist');
18 lives_ok { $obj = $rs->create ({ name => 'artistA', rank => 13 }) } 'insert successful';
19 is ($obj->rank, 13, 'initial valus is normal');
21 # increment rank using raw sql
22 lives_ok { $obj->update({ rank => \'rank + 1' }) }, "raw sql processed without errors";
24 isa_ok( $obj->rank, "SCALAR", "rank after raw sql update" );
26 $obj->discard_changes;
28 is( $obj->rank, 14, "rank incremented in db" );
30 $rs->result_source->add_columns(
31 '+rank' => { retrieve_on_update => 1 }
35 $obj->update({ rank => \'rank + 1' });
37 is( $obj->rank, 14, "rank updated without discarding changes to refetch" );
39 lives_ok { $obj = $rs->create ({ name => 'artistB', rank => 13 }) } 'insert #2 successful';
40 $obj->update({ rank => \'rank + 1' });
41 is($obj->rank, 14, 'With retrieve_on_update, check rank');