make this test pass, fix it up to match new SQLT design
[dbsrgits/SQL-Translator-2.0-ish.git] / t / 56-sqlite-producer.t
1 use strict;
2 use warnings;
3 use Test::More;
4
5 use SQL::Translator;
6 use SQL::Translator::Object::View;
7
8 {
9   my $sqlt = SQL::Translator->new( to => 'SQLite' );
10   my $producer = $sqlt->_producer;
11
12   my $view1 = SQL::Translator::Object::View->new( name => 'view_foo',
13                                                   fields => [qw/id name/],
14                                                   sql => 'SELECT id, name FROM thing',
15                                                   extra => {
16                                                     temporary => 1,
17                                                     if_not_exists => 1,
18                                                   });
19
20   my $create_opts = { no_comments => 1 };
21   my $view1_sql1 = $producer->create_view($view1, $create_opts);
22
23   my $view_sql_replace = "CREATE TEMPORARY VIEW IF NOT EXISTS view_foo AS
24     SELECT id, name FROM thing";
25   is($view1_sql1, $view_sql_replace, 'correct "CREATE TEMPORARY VIEW" SQL');
26
27   my $view2 = SQL::Translator::Object::View->new( name => 'view_foo',
28                                                   fields => [qw/id name/],
29                                                   sql => 'SELECT id, name FROM thing',);
30
31   my $view1_sql2 = $producer->create_view($view2, $create_opts);
32   my $view_sql_noreplace = "CREATE VIEW view_foo AS
33     SELECT id, name FROM thing";
34   is($view1_sql2, $view_sql_noreplace, 'correct "CREATE VIEW" SQL');
35 }
36
37 done_testing;