X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F82cascade_copy.t;h=505b79b5c71ca8cd3a8d6d34df50094700fb5cda;hb=d8516e922b021c1aa8b0626694cb472b5407573b;hp=26b8425c3fc41b22395852602c89fc4a32238a15;hpb=a47e123334d8bcea0d34dc9ea09738d6f3b1fd49;p=dbsrgits%2FDBIx-Class.git diff --git a/t/82cascade_copy.t b/t/82cascade_copy.t index 26b8425..505b79b 100644 --- a/t/82cascade_copy.t +++ b/t/82cascade_copy.t @@ -1,33 +1,42 @@ +BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) } + use strict; -use warnings; +use warnings; use Test::More; -use lib qw(t/lib); + use DBICTest; my $schema = DBICTest->init_schema(); -plan tests => 4; my $artist = $schema->resultset('Artist')->find(1); my $artist_cds = $artist->search_related('cds'); -my $cover_band; - -{ - no warnings qw(redefine once); - local *DBICTest::Artist::result_source_instance = \&DBICTest::Schema::Artist::result_source_instance; - - $cover_band = $artist->copy; -} +my $cover_band = $artist->copy ({name => $artist->name . '_cover' }); my $cover_cds = $cover_band->search_related('cds'); cmp_ok($cover_band->id, '!=', $artist->id, 'ok got new column id...'); is($cover_cds->count, $artist_cds->count, 'duplicated rows count ok'); #check multi-keyed -cmp_ok($cover_band->search_related('twokeys')->count, '>', 0, 'duplicated multiPK ok'); +is( + $cover_band->search_related('twokeys')->count, + $artist->search_related('twokeys')->count, + 'duplicated multiPK ok' +); #and check copying a few relations away cmp_ok($cover_cds->search_related('tags')->count, '==', $artist_cds->search_related('tags')->count , 'duplicated count ok'); + +# check from the other side +my $cd = $schema->resultset('CD')->find(1); +my $dup_cd = $cd->copy ({ title => 'ha!' }); +is( + $dup_cd->search_related('twokeys')->count, + $cd->search_related('twokeys')->count, + 'duplicated multiPK ok' +); + +done_testing;