X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F66relationship.t;h=48fcb2af79779825cf35eeea6a190ee7cce17252;hb=121068ec48336496a7ba216517c8caff27ceb99a;hp=aa29ade6dcf536af1cabdb327c02b2c921077c94;hpb=a4fcda000aa9833874693ea9bc940a92abbe1b6f;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/t/66relationship.t b/t/66relationship.t index aa29ade..48fcb2a 100644 --- a/t/66relationship.t +++ b/t/66relationship.t @@ -8,7 +8,7 @@ use DBICTest; my $schema = DBICTest->init_schema(); -plan tests => 71; +plan tests => 74; # has_a test my $cd = $schema->resultset("CD")->find(4); @@ -41,7 +41,7 @@ if ($INC{'DBICTest/HelperRels.pm'}) { } ); SKIP:{ - skip "Can't fix right now", 1 unless $DBIx::Class::VERSION >= '0.09'; + skip "Can't fix right now", 1 if $DBIx::Class::VERSION < 0.09; lives_ok { $big_flop->genre} "Don't throw exception when col is not loaded after insert"; }; } @@ -289,3 +289,13 @@ cmp_ok($relinfo->{attrs}{is_foreign_key_constraint}, '==', 1, "is_foreign_key_co my $rs_overridden = $schema->source('ForceForeign'); my $relinfo_with_attr = $rs_overridden->relationship_info ('cd_3'); cmp_ok($relinfo_with_attr->{attrs}{is_foreign_key_constraint}, '==', 0, "is_foreign_key_constraint defined for belongs_to relationships with attr."); + +# check that relationships below left join relationships are forced to left joins +my $cds = $schema->resultset("CD")->search({ cdid => 1 }, { join => { genre => 'demographic' } }); +is($cds->count, 1, "subjoins under left joins force_left (string)"); + +$cds = $schema->resultset("CD")->search({ cdid => 1 }, { join => { genre => [ 'demographic' ] } }); +is($cds->count, 1, "subjoins under left joins force_left (arrayref)"); + +$cds = $schema->resultset("CD")->search({ cdid => 1 }, { join => { genre => { demographic => {} } } }); +is($cds->count, 1, "subjoins under left joins force_left (hashref)");