#!/usr/bin/perl
# vim: set ft=perl:

use strict;
use Test::More tests => 2;
use Test::SQL::Translator qw(maybe_plan);
use FindBin               qw/$Bin/;

use SQL::Translator::Schema::View;
use SQL::Translator::Producer::SQLite;

{
  my $view1 = SQL::Translator::Schema::View->new(
    name   => 'view_foo',
    fields => [qw/id name/],
    sql    => 'SELECT id, name FROM thing',
    extra  => {
      temporary     => 1,
      if_not_exists => 1,
    }
  );
  my $create_opts = { no_comments => 1 };
  my $view1_sql1  = [ SQL::Translator::Producer::SQLite::create_view($view1, $create_opts) ];

  my $view_sql_replace = [
    'CREATE TEMPORARY VIEW IF NOT EXISTS view_foo AS
    SELECT id, name FROM thing'
  ];
  is_deeply($view1_sql1, $view_sql_replace, 'correct "CREATE TEMPORARY VIEW" SQL');

  my $view2 = SQL::Translator::Schema::View->new(
    name   => 'view_foo',
    fields => [qw/id name/],
    sql    => 'SELECT id, name FROM thing',
  );

  my $view1_sql2         = [ SQL::Translator::Producer::SQLite::create_view($view2, $create_opts) ];
  my $view_sql_noreplace = [
    'CREATE VIEW view_foo AS
    SELECT id, name FROM thing'
  ];
  is_deeply($view1_sql2, $view_sql_noreplace, 'correct "CREATE VIEW" SQL');
}
