| 1 |
require 'abstract_unit' |
|---|
| 2 |
|
|---|
| 3 |
class ActiveSchemaTest < Test::Unit::TestCase |
|---|
| 4 |
def setup |
|---|
| 5 |
ActiveRecord::ConnectionAdapters::MysqlAdapter.class_eval do |
|---|
| 6 |
alias_method :real_execute, :execute |
|---|
| 7 |
def execute(sql, name = nil) return sql end |
|---|
| 8 |
end |
|---|
| 9 |
end |
|---|
| 10 |
|
|---|
| 11 |
def teardown |
|---|
| 12 |
ActiveRecord::ConnectionAdapters::MysqlAdapter.send(:alias_method, :execute, :real_execute) |
|---|
| 13 |
end |
|---|
| 14 |
|
|---|
| 15 |
def test_drop_table |
|---|
| 16 |
assert_equal "DROP TABLE people", drop_table(:people) |
|---|
| 17 |
end |
|---|
| 18 |
|
|---|
| 19 |
def test_add_column |
|---|
| 20 |
assert_equal "ALTER TABLE people ADD `last_name` varchar(255)", add_column(:people, :last_name, :string) |
|---|
| 21 |
end |
|---|
| 22 |
|
|---|
| 23 |
def test_add_column_with_limit |
|---|
| 24 |
assert_equal "ALTER TABLE people ADD `key` varchar(32)", add_column(:people, :key, :string, :limit => 32) |
|---|
| 25 |
end |
|---|
| 26 |
|
|---|
| 27 |
def test_add_column_with_primary_key_type |
|---|
| 28 |
assert_equal "ALTER TABLE people ADD `new_key` int(11) DEFAULT NULL auto_increment PRIMARY KEY", add_column(:people, :new_key, :primary_key) |
|---|
| 29 |
end |
|---|
| 30 |
|
|---|
| 31 |
private |
|---|
| 32 |
def method_missing(method_symbol, *arguments) |
|---|
| 33 |
ActiveRecord::Base.connection.send(method_symbol, *arguments) |
|---|
| 34 |
end |
|---|
| 35 |
end |
|---|