Improve trigger 'scope' attribute support (RT#119997)
[dbsrgits/SQL-Translator.git] / t / 57-class-dbi.t
1 #!/usr/bin/perl
2 # vim: set ft=perl:
3
4 use strict;
5 use Test::More tests => 2;
6 use Test::SQL::Translator qw(maybe_plan);
7 use FindBin qw/$Bin/;
8
9 use SQL::Translator::Schema::View;
10 use SQL::Translator::Producer::SQLite;
11
12 {
13     my $view1 = SQL::Translator::Schema::View->new(
14         name   => 'view_foo',
15         fields => [qw/id name/],
16         sql    => 'SELECT id, name FROM thing',
17         extra  => {
18             temporary     => 1,
19             if_not_exists => 1,
20         }
21     );
22     my $create_opts = { no_comments => 1 };
23     my $view1_sql1 =
24       [ SQL::Translator::Producer::SQLite::create_view( $view1, $create_opts ) ];
25
26     my $view_sql_replace = [ 'CREATE TEMPORARY VIEW IF NOT EXISTS view_foo AS
27     SELECT id, name FROM thing' ];
28     is_deeply( $view1_sql1, $view_sql_replace, 'correct "CREATE TEMPORARY VIEW" SQL' );
29
30     my $view2 = SQL::Translator::Schema::View->new(
31         name   => 'view_foo',
32         fields => [qw/id name/],
33         sql    => 'SELECT id, name FROM thing',
34     );
35
36     my $view1_sql2 =
37       [ SQL::Translator::Producer::SQLite::create_view( $view2, $create_opts ) ];
38     my $view_sql_noreplace = [ 'CREATE VIEW view_foo AS
39     SELECT id, name FROM thing' ];
40     is_deeply( $view1_sql2, $view_sql_noreplace, 'correct "CREATE VIEW" SQL' );
41 }