X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-DBIx-Class-ResultSet-RecursiveUpdate;a=blobdiff_plain;f=t%2Flib%2FRunTests.pm;h=c5c1c6ab0c6779f7ea23e3ca4620711574fbf575;hp=5fe46f91b14a8b553d0f4851176639bf480d9736;hb=64823b9f706cff82cb471b225b7852930862478c;hpb=7506524e26fe0caaabab96d354eff58e2d9a1495 diff --git a/t/lib/RunTests.pm b/t/lib/RunTests.pm index 5fe46f9..c5c1c6a 100644 --- a/t/lib/RunTests.pm +++ b/t/lib/RunTests.pm @@ -11,7 +11,7 @@ use DBIx::Class::ResultSet::RecursiveUpdate; sub run_tests { my $schema = shift; - plan tests => 51; + plan tests => 53; my $dvd_rs = $schema->resultset('Dvd'); my $user_rs = $schema->resultset('User'); @@ -172,7 +172,7 @@ TODO: { is( $schema->resultset('User')->count, $expected_user_count, "No new user created" ); is( $dvd_updated->name, undef, 'Dvd name deleted' ); - is( $dvd_updated->owner->id, $another_owner->id, 'Owner updated' ); + is( $dvd_updated->get_column('owner'), $another_owner->id, 'Owner updated' ); is( $dvd_updated->current_borrower->name, 'new name a', 'Related record modified' ); is( $dvd_updated->tags->count, 0, 'Tags deleted' ); @@ -181,6 +181,11 @@ TODO: { 'might_have record changed' ); + my $dvd_with_tags = $dvd_rs->recursive_update({ id => $dvd->dvd_id, tags => [1, 2] }); + is_deeply( [ map { $_->id } $dvd_with_tags->tags ], [ 1, 2 ], 'Tags set' ); + my $dvd_without_tags = $dvd_rs->recursive_update({ id => $dvd->dvd_id, tags => undef }); + is( $dvd_without_tags->tags->count, 0, 'Tags deleted when m2m accessor set to undef' ); + $new_dvd->update( { name => 'New Test Name' } ); $updates = { id => $new_dvd->dvd_id, # id instead of dvd_id