Clean up SGN::Image and convert a 2-arg open to 3-arg
[sgn.git] / t / context.t
blob130aa70545b4efb54d742f0c21e9cc0720207cb3
1 use Test::Most;
2 use Carp;
3 $SIG{__DIE__} = \&Carp::confess;
5 use_ok 'SGN::Context';
7 my $c = SGN::Context->new;
9 #### test dbh() method
11 can_ok( $c->dbc, 'dbh', 'run','txn' );
12 can_ok( $c->dbc->dbh, 'selectall_arrayref', 'prepare', 'ping' );
14 ok( $c->dbc->dbh->ping, 'dbh looks live' );
16 throws_ok {
17     $c->dbc('nonexistent connection profile');
18 } qr/not defined/, 'throws for nonexistent connection profile';
20 like( $c->dbc->dbh->{private_search_path_string},
21       qr/\S/,
22       'private_search_path has something in it',
23      );
25 # test dbic_schema method
27 my $schema = $c->dbic_schema('Test::Schema');
28 can_ok( $schema, 'resultset', 'storage' );
29 ok( $schema->storage->dbh->ping, 'dbic storage is connected' );
30 is( search_path( $schema->storage->dbh), search_path( $c->dbc->dbh ), 'schema and dbc should have same search path' );
32 # test jsan functions
33 can_ok( $c->new_jsan, 'uris' );
34 my $uris = $c->js_import_uris('CXGN.Page.Toolbar');
35 cmp_ok( scalar(@$uris), '>=', 1, 'got at least 1 URI to include for CXGN.Page.Toolbar' );
37 done_testing;
40 sub search_path {
41     my ($dbh) = @_;
42     my ($sp) = $dbh->selectrow_array('show search_path');
43     return $sp;
46 package Test::Schema;
48 use base 'DBIx::Class::Schema';