X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F82cascade_copy.t;h=505b79b5c71ca8cd3a8d6d34df50094700fb5cda;hb=50841788d03e2342a00470eb2f458e717922615b;hp=5f8a542ec72e10adf0a8a65206139081baffdc20;hpb=149f24a3e0f97b6b8e1749c123a22cf6b3cc0f7f;p=dbsrgits%2FDBIx-Class.git diff --git a/t/82cascade_copy.t b/t/82cascade_copy.t index 5f8a542..505b79b 100644 --- a/t/82cascade_copy.t +++ b/t/82cascade_copy.t @@ -1,26 +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 = $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;