X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F10_01sqlite_common.t;h=233c079aa554bddc6b66146c350038a429c9482a;hb=7c304e590cd0eac21aed4c62266e43129d6ff9ce;hp=93a499c028c69925441bff53d77d78bb3898c2f8;hpb=3b61a7ca5fade36343b5abdd11bb6b29e47e043c;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/10_01sqlite_common.t b/t/10_01sqlite_common.t index 93a499c..233c079 100644 --- a/t/10_01sqlite_common.t +++ b/t/10_01sqlite_common.t @@ -127,12 +127,19 @@ my $tester = dbixcsl_common_tests->new( on delete restrict on update set null deferrable ) }, + # test inline constraint + q{ + create table extra_loader_test10 ( + id integer primary key, + eight_id int references extra_loader_test8(id) on delete restrict on update set null deferrable + ) + }, ], pre_drop_ddl => [ 'DROP VIEW extra_loader_test5' ], drop => [ qw/extra_loader_test1 extra_loader_test2 extra_loader_test3 extra_loader_test4 extra_loader_test6 extra_loader_test7 - extra_loader_test8 extra_loader_test9 / ], - count => 15, + extra_loader_test8 extra_loader_test9 extra_loader_test10 / ], + count => 20, run => sub { my ($schema, $monikers, $classes) = @_; @@ -163,6 +170,10 @@ my $tester = dbixcsl_common_tests->new( is $schema->resultset($monikers->{extra_loader_test5})->result_source->column_info('person_id')->{data_type}, 'integer', 'columns for views are introspected'; + # test that views are marked as such + isa_ok $schema->resultset($monikers->{extra_loader_test5})->result_source, 'DBIx::Class::ResultSource::View', + 'views have table_class set correctly'; + isnt $schema->resultset($monikers->{extra_loader_test6})->result_source->column_info('id1')->{is_auto_increment}, 1, q{two integer PKs don't get marked autoinc}; @@ -181,6 +192,18 @@ my $tester = dbixcsl_common_tests->new( is $rel_info->{attrs}{is_deferrable}, 1, 'DEFERRABLE clause introspected correctly'; + + ok (($rel_info = $schema->source('ExtraLoaderTest10')->relationship_info('eight')), + 'got rel info'); + + is $rel_info->{attrs}{on_delete}, 'RESTRICT', + 'ON DELETE clause introspected correctly for inline FK'; + + is $rel_info->{attrs}{on_update}, 'SET NULL', + 'ON UPDATE clause introspected correctly for inline FK'; + + is $rel_info->{attrs}{is_deferrable}, 1, + 'DEFERRABLE clause introspected correctly for inline FK'; }, }, );