b82ecbc3c5703510676d2cd5d62f962eb925bef5
[dbsrgits/DBIx-Class-ResultSource-MultipleTableInheritance.git] / t / 03insert.t
1 use strict;
2 use warnings;
3 use lib 't/lib';
4 use Test::More qw(no_plan);
5 use Test::Exception;
6 use Devel::Dwarn;
7
8 BEGIN {
9     use_ok 'Cafe';
10     $ENV{DBIC_TRACE} = 0;
11 }
12 my ( $dsn, $user, $pass )
13     = @ENV{ map {"DBICTEST_PG_${_}"} qw/DSN USER PASS/ };
14 plan skip_all => <<'EOM' unless $dsn && $user;
15 Set $ENV{DBICTEST_PG_DSN}, _USER and _PASS to run this test
16 ( NOTE: This test drops and creates some tables.')
17 EOM
18
19 my $schema = Cafe->connect( $dsn, $user, $pass );
20 $schema->storage->dbh->{Warn} = 0;
21 $schema->storage->ensure_connected;
22 $schema->storage->_use_insert_returning(0);
23
24 my $dir = "t/sql";    # tempdir(CLEANUP => 0);
25 $schema->create_ddl_dir( ['PostgreSQL'], 0.1, $dir );
26 $schema->deploy( { add_drop_table => 1, add_drop_view => 1 } );
27
28 isa_ok(
29     $schema->source('Sumatra'),
30     'DBIx::Class::ResultSource::View',
31     "My MTI class also"
32 );
33
34 my ( $drink, $drink1 );
35
36 lives_ok {
37     $drink = $schema->resultset('Sumatra')
38         ->create( { sweetness => 4, aroma => 'earthy', flavor => 'great' } );
39 }
40 "I can call a create on a view sumatra";
41
42 lives_ok {
43     $drink1 = $schema->resultset('Coffee')->create( { flavor => 'aaight', } );
44 }
45 "I can do it for the other view, too";
46