X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F101populate_rs.t;h=5454fa01f9165f7b3fe2c8ba6f0ac453ad41ff75;hb=e0d56e264fe10386710097fd1ec62fba37179d50;hp=89b9f4199af5611eb0f5496b3b5ded19f27fd488;hpb=c4e67d31ed6f3fb01c07451cdf69c0782bc610a2;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/t/101populate_rs.t b/t/101populate_rs.t index 89b9f41..5454fa0 100644 --- a/t/101populate_rs.t +++ b/t/101populate_rs.t @@ -15,8 +15,6 @@ use Test::More; use lib qw(t/lib); use DBICTest; -plan tests => 142; - ## ---------------------------------------------------------------------------- ## Get a Schema and some ResultSets we can play with. @@ -26,6 +24,8 @@ my $schema = DBICTest->init_schema(); my $art_rs = $schema->resultset('Artist'); my $cd_rs = $schema->resultset('CD'); +my $restricted_art_rs = $art_rs->search({rank => 42}); + ok( $schema, 'Got a Schema object'); ok( $art_rs, 'Got Good Artist Resultset'); ok( $cd_rs, 'Got Good CD Resultset'); @@ -333,6 +333,18 @@ ARRAY_CONTEXT: { is($cdB->artist->name, 'Fred BloggsD', 'Set Artist to FredD'); ok($cdB->artist->artistid == $aid, "Got Expected Artist ID"); } + + WITH_COND_FROM_RS: { + + my ($more_crap) = $restricted_art_rs->populate([ + { + name => 'More Manufactured Crap', + }, + ]); + + ## Did it use the condition in the resultset? + cmp_ok( $more_crap->rank, '==', 42, "Got Correct rank for result object"); + } } @@ -601,6 +613,21 @@ VOID_CONTEXT: { ok( $cd2->title eq "VOID_Yet More Tweeny-Pop crap", "Got Expected CD Title"); } + WITH_COND_FROM_RS: { + + $restricted_art_rs->populate([ + { + name => 'VOID More Manufactured Crap', + }, + ]); + + my $more_crap = $art_rs->search({ + name => 'VOID More Manufactured Crap' + })->first; + + ## Did it use the condition in the resultset? + cmp_ok( $more_crap->rank, '==', 42, "Got Correct rank for result object"); + } } ARRAYREF_OF_ARRAYREF_STYLE: { @@ -619,7 +646,7 @@ ARRAYREF_OF_ARRAYREF_STYLE: { is $jumped->name, 'A singer that jumped the shark two albums ago', 'Correct Name'; is $cool->name, 'An actually cool singer.', 'Correct Name'; - my ($cooler, $lamer) = $art_rs->populate([ + my ($cooler, $lamer) = $restricted_art_rs->populate([ [qw/artistid name/], [1003, 'Cooler'], [1004, 'Lamer'], @@ -627,4 +654,36 @@ ARRAYREF_OF_ARRAYREF_STYLE: { is $cooler->name, 'Cooler', 'Correct Name'; is $lamer->name, 'Lamer', 'Correct Name'; -} \ No newline at end of file + + cmp_ok $cooler->rank, '==', 42, 'Correct Rank'; + + ARRAY_CONTEXT_WITH_COND_FROM_RS: { + + my ($mega_lamer) = $restricted_art_rs->populate([ + { + name => 'Mega Lamer', + }, + ]); + + ## Did it use the condition in the resultset? + cmp_ok( $mega_lamer->rank, '==', 42, "Got Correct rank for result object"); + } + + VOID_CONTEXT_WITH_COND_FROM_RS: { + + $restricted_art_rs->populate([ + { + name => 'VOID Mega Lamer', + }, + ]); + + my $mega_lamer = $art_rs->search({ + name => 'VOID Mega Lamer' + })->first; + + ## Did it use the condition in the resultset? + cmp_ok( $mega_lamer->rank, '==', 42, "Got Correct rank for result object"); + } +} + +done_testing;