1use strict; 2use warnings; 3 4use Test::More; 5use lib qw(t/lib); 6use DBICTest; 7 8my $schema = DBICTest->init_schema(); 9 10my $art = $schema->resultset("Artist")->find(1); 11 12isa_ok $art => 'DBICTest::Artist'; 13 14my $name = 'Caterwauler McCrae'; 15 16ok($art->name($name) eq $name, 'update'); 17 18{ 19 my @changed_keys = $art->is_changed; 20 is( scalar (@changed_keys), 0, 'field changed but same value' ); 21} 22 23$art->discard_changes; 24 25ok($art->update({ artistid => 100 }), 'update allows pk mutation'); 26 27is($art->artistid, 100, 'pk mutation applied'); 28 29my $art_100 = $schema->resultset("Artist")->find(100); 30$art_100->artistid(101); 31ok($art_100->update(), 'update allows pk mutation via column accessor'); 32 33done_testing; 34