X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fcdbi-t%2F14-might_have.t;fp=t%2Fcdbi-t%2F14-might_have.t;h=0000000000000000000000000000000000000000;hb=50891152d0b24649bfd67bdba97feec86b11c064;hp=febdd7028046601d85609e9a0e5f12b14daba556;hpb=23209c4474d71e419b3fcf9699ae05565c2997f5;p=dbsrgits%2FDBIx-Class.git diff --git a/t/cdbi-t/14-might_have.t b/t/cdbi-t/14-might_have.t deleted file mode 100644 index febdd70..0000000 --- a/t/cdbi-t/14-might_have.t +++ /dev/null @@ -1,83 +0,0 @@ -use strict; -use Test::More; - -BEGIN { - eval "use DBIx::Class::CDBICompat;"; - if ($@) { - plan (skip_all => 'Class::Trigger and DBIx::ContextualFetch required'); - next; - } - eval "use DBD::SQLite"; - plan $@ ? (skip_all => 'needs DBD::SQLite for testing') : (tests => 22); -} - -use lib 't/testlib'; -use Film; -use Blurb; - -is(Blurb->primary_column, "title", "Primary key of Blurb = title"); -is_deeply [ Blurb->columns('Essential') ], [ Blurb->primary_column ], "Essential = Primary"; - -eval { Blurb->retrieve(10) }; -is $@, "", "No problem retrieving non-existent Blurb"; - -Film->might_have(info => Blurb => qw/blurb/); - -Film->create_test_film; - -{ - ok my $bt = Film->retrieve('Bad Taste'), "Get Film"; - isa_ok $bt, "Film"; - is $bt->info, undef, "No blurb yet"; - # bug where we couldn't write a class with a might_have that didn't_have - $bt->rating(16); - eval { $bt->update }; - is $@, '', "No problems updating when don't have"; - is $bt->rating, 16, "Updated OK"; - - is $bt->blurb, undef, "Bad taste has no blurb"; - $bt->blurb("Wibble bar"); - $bt->update; - is $bt->blurb, "Wibble bar", "And we can write the info"; -} - -{ - my $bt = Film->retrieve('Bad Taste'); - my $info = $bt->info; - isa_ok $info, 'Blurb'; - - is $bt->blurb, $info->blurb, "Blurb is the same as fetching the long way"; - ok $bt->blurb("New blurb"), "We can set the blurb"; - $bt->update; - is $bt->blurb, $info->blurb, "Blurb has been set"; - - $bt->rating(18); - eval { $bt->update }; - is $@, '', "No problems updating when do have"; - is $bt->rating, 18, "Updated OK"; - - # cascade delete? - { - my $blurb = Blurb->retrieve('Bad Taste'); - isa_ok $blurb => "Blurb"; - $bt->delete; - $blurb = Blurb->retrieve('Bad Taste'); - is $blurb, undef, "Blurb has gone"; - } - -} - -{ - my $host = Film->create({ title => "Gwoemul" }); - $host->blurb("Monsters are real."); - my $info = $host->info; - is $info->blurb, "Monsters are real."; - - $host->discard_changes; - is $host->info->id, $info->id, - 'relationships still valid after discard_changes'; - - ok $host->info->delete; - $host->discard_changes; - ok !$host->info, 'relationships rechecked after discard_changes'; -} \ No newline at end of file