12 use_ok('DBIx::Class::ResultSource::View');
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/;
26 my $schema = ViewDeps->connect;
27 ok( $schema, 'Connected to ViewDeps schema OK' );
30 my $bar_rs = $schema->resultset('Bar');
33 = keys %{ $schema->resultset('Bar')->result_source->deploy_depends_on };
36 = keys %{ $schema->resultset('Foo')->result_source->deploy_depends_on };
38 isa_ok( $schema->resultset('Bar')->result_source,
39 'DBIx::Class::ResultSource::View', 'Bar' );
41 is( $bar_deps[0], 'baz', 'which is reported to depend on baz...' );
42 is( $bar_deps[1], 'mixin', 'and on mixin.' );
43 is( $foo_deps[0], undef, 'Foo has no declared dependencies...' );
48 $schema->resultset('Foo')->result_source,
49 'DBIx::Class::ResultSource::View',
53 $schema->resultset('Baz')->result_source,
54 'DBIx::Class::ResultSource::Table',
55 "Baz on the other hand"
58 ViewDeps::Result::Baz->result_source_instance
59 ->deploy_depends_on("ViewDeps::Result::Mixin");
61 "...and you cannot use deploy_depends_on with that";
63 is(ViewDeps->source('Foo')->view_definition, $schema->resultset('Bar')->result_source->view_definition, "Package Foo's view definition is equivalent to resultset Bar's view definition");
66 $schema->create_ddl_dir( ['PostgreSQL','SQLite'], 0.1, $dir );