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