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