From: Peter Rabbitson Date: Mon, 17 Nov 2008 03:01:39 +0000 (+0000) Subject: Failing tests by zby, showing that recursing insert() gets in the way of some exotic... X-Git-Tag: v0.08240~228 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2f926160b1fc56b4943ba229f23940ccf8468001;p=dbsrgits%2FDBIx-Class.git Failing tests by zby, showing that recursing insert() gets in the way of some exotic insert scenarious - waiting for mst to decide course of action --- diff --git a/t/66relationship.t b/t/66relationship.t index 81646fa..224403c 100644 --- a/t/66relationship.t +++ b/t/66relationship.t @@ -1,13 +1,14 @@ use strict; -use warnings; +use warnings; use Test::More; +use Test::Exception; use lib qw(t/lib); use DBICTest; my $schema = DBICTest->init_schema(); -plan tests => 69; +plan tests => 72; # has_a test my $cd = $schema->resultset("CD")->find(4); @@ -261,6 +262,21 @@ is ($@, '', 'Staged insertion successful'); ok($new_artist->in_storage, 'artist inserted'); ok($new_related_cd->in_storage, 'new_related_cd inserted'); +my $new_cd = $schema->resultset("CD")->new_result({}); +my $new_related_artist = $new_cd->new_related('artist', { 'name' => 'Marillion',}); +lives_ok ( + sub { + $new_related_artist->insert; + $new_cd->title( 'Misplaced Childhood' ); + $new_cd->year ( 1985 ); +# $new_cd->artist( $new_related_artist ); # For exact backward compatibility # not sure what this means + $new_cd->insert; + }, + 'Reversed staged insertion successful' +); +ok($new_related_artist->in_storage, 'related artist inserted'); +ok($new_cd->in_storage, 'cd inserted'); + # check if is_foreign_key_constraint attr is set my $rs_normal = $schema->source('Track'); my $relinfo = $rs_normal->relationship_info ('cd');