12 use_ok('DBIx::Class::ResultSource::View');
15 #################### SANITY
17 my $view = DBIx::Class::ResultSource::View->new( { name => 'Quux' } );
19 isa_ok( $view, 'DBIx::Class::ResultSource', 'A new view' );
20 isa_ok( $view, 'DBIx::Class', 'A new view also' );
22 can_ok( $view, $_ ) for qw/new from deploy_depends_on/;
24 #################### DEPS
27 = ViewDeps->connect( 'dbi:SQLite::memory:', { quote_char => '"', } );
28 ok( $schema, 'Connected to ViewDeps schema OK' );
32 $schema->resultset($_)->result_source->name =>
33 $schema->resultset($_)->result_source->deploy_depends_on
36 $schema->resultset($_)
37 ->result_source->isa('DBIx::Class::ResultSource::View')
38 } @{ [ $schema->sources ] }
41 my @sorted_sources = sort {
42 keys %{ $deps_ref->{$a} || {} } <=> keys %{ $deps_ref->{$b} || {} }
47 #################### DEPLOY
49 $schema->deploy( { add_drop_table => 1 } );
51 #################### DOES ORDERING WORK?
53 my $tr = $schema->{sqlt};
55 my @keys = keys %{ $tr->{views} };
58 = sort { $tr->{views}->{$a}->{order} cmp $tr->{views}->{$b}->{order} }
61 is_deeply( \@sorted_sources, \@sqlt_sources,
62 "SQLT view order triumphantly matches our order." );
64 #################### AND WHAT ABOUT USING THE SCHEMA?
66 lives_ok( sub { $schema->resultset($_)->next }, "Query on $_ succeeds" )
68 $schema->resultset($_)
69 ->result_source->isa('DBIx::Class::ResultSource::View')
70 } @{ [ $schema->sources ] };