module ViewBehavior

Public Instance Methods

setup() click to toggle source
Calls superclass method
# File activerecord/test/cases/view_test.rb, line 20
  def setup
    super
    @connection = ActiveRecord::Base.connection
    create_view "ebooks'", <<-SQL
      SELECT id, name, status FROM books WHERE format = 'ebook'
    SQL
  end
teardown() click to toggle source
Calls superclass method
# File activerecord/test/cases/view_test.rb, line 28
def teardown
  super
  drop_view "ebooks'"
end
test_attributes() click to toggle source
# File activerecord/test/cases/view_test.rb, line 64
def test_attributes
  assert_equal({ "id" => 2, "name" => "Ruby for Quails", "status" => 0 },
               Ebook.first.attributes)
end
test_column_definitions() click to toggle source
# File activerecord/test/cases/view_test.rb, line 58
def test_column_definitions
  assert_equal([["id", :integer],
                ["name", :string],
                ["status", :integer]], Ebook.columns.map { |c| [c.name, c.type] })
end
test_does_not_assume_id_column_as_primary_key() click to toggle source
# File activerecord/test/cases/view_test.rb, line 69
def test_does_not_assume_id_column_as_primary_key
  model = Class.new(ActiveRecord::Base) do
    self.table_name = "ebooks'"
  end
  assert_nil model.primary_key
end
test_does_not_dump_view_as_table() click to toggle source
# File activerecord/test/cases/view_test.rb, line 76
def test_does_not_dump_view_as_table
  schema = dump_table_schema "ebooks'"
  assert_no_match %r{create_table "ebooks'"}, schema
end
test_reading() click to toggle source
# File activerecord/test/cases/view_test.rb, line 33
def test_reading
  books = Ebook.all
  assert_equal [books(:rfr).id], books.map(&:id)
  assert_equal ["Ruby for Quails"], books.map(&:name)
end
test_table_exists() click to toggle source
# File activerecord/test/cases/view_test.rb, line 48
def test_table_exists
  view_name = Ebook.table_name
  assert_not @connection.table_exists?(view_name), "'#{view_name}' table should not exist"
end
test_view_exists() click to toggle source
# File activerecord/test/cases/view_test.rb, line 43
def test_view_exists
  view_name = Ebook.table_name
  assert @connection.view_exists?(view_name), "'#{view_name}' view should exist"
end
test_views() click to toggle source
# File activerecord/test/cases/view_test.rb, line 39
def test_views
  assert_equal [Ebook.table_name], @connection.views
end
test_views_ara_valid_data_sources() click to toggle source
# File activerecord/test/cases/view_test.rb, line 53
def test_views_ara_valid_data_sources
  view_name = Ebook.table_name
  assert @connection.data_source_exists?(view_name), "'#{view_name}' should be a data source"
end

Private Instance Methods

quote_table_name(name) click to toggle source
# File activerecord/test/cases/view_test.rb, line 82
def quote_table_name(name)
  @connection.quote_table_name(name)
end