X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F94pk_mutation.t;h=3cdc47cb974d248953c21caf9d914721c644c27e;hb=5cbe5b1216f07b5e329f493bd8bdfa5b0aa0f5eb;hp=46233327316a7131414997585855072df735fa6a;hpb=665256a6662526fe0488aa09e2d99339f0b9b96f;p=dbsrgits%2FDBIx-Class.git diff --git a/t/94pk_mutation.t b/t/94pk_mutation.t index 4623332..3cdc47c 100644 --- a/t/94pk_mutation.t +++ b/t/94pk_mutation.t @@ -1,5 +1,5 @@ use strict; -use warnings; +use warnings; use Test::More; use lib qw(t/lib); @@ -7,7 +7,7 @@ use DBICTest; my $schema = DBICTest->init_schema(); -plan tests => 5; +plan tests => 10; my $old_artistid = 1; my $new_artistid = $schema->resultset("Artist")->get_column('artistid')->max + 1; @@ -33,3 +33,30 @@ my $new_artistid = $schema->resultset("Artist")->get_column('artistid')->max + 1 ok(defined $artist, 'found an artist with the new PK'); is($artist->artistid, $new_artistid, 'artist ID matches'); } + +# Do it all over again, using a different methodology: +$old_artistid = $new_artistid; +$new_artistid++; + +# Update the PK +{ + my $artist = $schema->resultset("Artist")->find($old_artistid); + ok(defined $artist, 'found an artist with the new PK'); + + $artist->artistid($new_artistid); + $artist->update; + is($artist->artistid, $new_artistid, 'artist ID matches'); +} + +# Look for the old PK +{ + my $artist = $schema->resultset("Artist")->find($old_artistid); + ok(!defined $artist, 'no artist found with the old PK'); +} + +# Look for the new PK +{ + my $artist = $schema->resultset("Artist")->find($new_artistid); + ok(defined $artist, 'found an artist with the new PK'); + is($artist->artistid, $new_artistid, 'artist ID matches'); +}