X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FDBICTest%2FSchema%2FArtwork.pm;h=ddc87cdcd3910d9642782797235dccbf9a85b5b2;hb=d0435d75;hp=4eecef5df731ea86d1669ef48c2960ddbc8677d5;hpb=9c3018b6b589a8250b75a3db451a5baac9c6c3df;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/t/lib/DBICTest/Schema/Artwork.pm b/t/lib/DBICTest/Schema/Artwork.pm index 4eecef5..ddc87cd 100644 --- a/t/lib/DBICTest/Schema/Artwork.pm +++ b/t/lib/DBICTest/Schema/Artwork.pm @@ -1,7 +1,11 @@ package # hide from PAUSE DBICTest::Schema::Artwork; -use base qw/DBICTest::BaseResult/; +use warnings; +use strict; + +use base 'DBICTest::BaseResult'; +use DBICTest::Util 'check_customcond_args'; __PACKAGE__->table('cd_artwork'); __PACKAGE__->add_columns( @@ -17,4 +21,27 @@ __PACKAGE__->has_many('images', 'DBICTest::Schema::Image', 'artwork_id'); __PACKAGE__->has_many('artwork_to_artist', 'DBICTest::Schema::Artwork_to_Artist', 'artwork_cd_id'); __PACKAGE__->many_to_many('artists', 'artwork_to_artist', 'artist'); +# both to test manytomany with custom rel +__PACKAGE__->many_to_many('artists_test_m2m', 'artwork_to_artist', 'artist_test_m2m'); +__PACKAGE__->many_to_many('artists_test_m2m_noopt', 'artwork_to_artist', 'artist_test_m2m_noopt'); + +# other test to manytomany +__PACKAGE__->has_many('artwork_to_artist_test_m2m', 'DBICTest::Schema::Artwork_to_Artist', + sub { + # This is for test purposes only. A regular user does not + # need to sanity check the passed-in arguments, this is what + # the tests are for :) + my $args = &check_customcond_args; + + return ( + { "$args->{foreign_alias}.artwork_cd_id" => { -ident => "$args->{self_alias}.cd_id" }, + }, + $args->{self_result_object} && { + "$args->{foreign_alias}.artwork_cd_id" => $args->{self_result_object}->cd_id, + } + ); + } +); +__PACKAGE__->many_to_many('artists_test_m2m2', 'artwork_to_artist_test_m2m', 'artist'); + 1;