Sha256: 452d189b717f36ce60d49f4891cee593c99a6dd5a3dd920ee6a4cc17e606a202

Contents?: true

Size: 1.44 KB

Versions: 1

Compression:

Stored size: 1.44 KB

Contents

# encoding: utf-8
require File.dirname(__FILE__) + '/../test_helper'

class VisualQueryTest < ActiveSupport::TestCase
  def test_save_valid_sql_query
    vqb = Tutuf::VisualQuery::Base.new('sql' => "SELECT AVG(age) AS average_age FROM people", 'query' => {'name' => "new raw sql query"})
    assert vqb.valid?, "Metadata in test not valid - fix the test"
    assert vqb.save, "Could not save valid raw sql query"
    assert_equal ["average_age"], ActiveRecord::Base.connection.columns(%("#{Tutuf::VisualQuery::Base.schema}"."new raw sql query")).map(&:name)
  end

  def test_filters
    vqb = Tutuf::VisualQuery::Base.find_by_name("raw_sql")
    assert_equal [], vqb.filters
  end

  def test_results
    vqb = Tutuf::VisualQuery::Base.new('sql' => "SELECT AVG(age) AS average_age FROM people", 'query' => {'name' => "new raw sql query"})
    assert !vqb.to_a.empty?, "Results should not be empty"
  end

  def test_update_sql_valid_when_original_is_sql
    vqb = Tutuf::VisualQuery::Base.find_by_name('raw_sql')
    assert vqb.update_sql('sql' => "SELECT MAX(age) AS max_age FROM people")
  end

  def test_update_sql_valid_when_original_is_visual
    vqb = Tutuf::VisualQuery::Base.find_by_name('first')
    assert vqb.update_sql('sql' => "SELECT MAX(age) AS max_age FROM people")
  end

  def test_update_sql_invalid
    vqb = Tutuf::VisualQuery::Base.find_by_name('raw_sql')
    assert !vqb.update_sql('sql' => "SELECT age FROM")
    assert !vqb.errors.blank?
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
visual_query-0.3.0 test/unit/sql_test.rb