Resolve $rsrc instance duality on metadata traversal
[dbsrgits/DBIx-Class.git] / t / 69update.t
1 BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
2
3 use strict;
4 use warnings;
5
6 use Test::More;
7
8 use DBICTest;
9
10 my $schema = DBICTest->init_schema();
11
12 my $art = $schema->resultset("Artist")->find(1);
13
14 isa_ok $art => 'DBICTest::Artist';
15
16 my $name = 'Caterwauler McCrae';
17
18 ok($art->name($name) eq $name, 'update');
19
20 {
21   my @changed_keys = $art->is_changed;
22   is( scalar (@changed_keys), 0, 'field changed but same value' );
23 }
24
25 $art->discard_changes;
26
27 ok($art->update({ artistid => 100 }), 'update allows pk mutation');
28
29 is($art->artistid, 100, 'pk mutation applied');
30
31 my $art_100 = $schema->resultset("Artist")->find(100);
32 $art_100->artistid(101);
33 ok($art_100->update(), 'update allows pk mutation via column accessor');
34
35 done_testing;