mack-active_record 0.5.5 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/database.rb +118 -0
- data/lib/genosaurus_helpers.rb +40 -0
- data/lib/helpers/orm_helpers.rb +15 -15
- data/lib/mack-active_record.rb +16 -14
- data/lib/migration_generator/migration_generator.rb +1 -1
- data/lib/model_column.rb +55 -0
- data/lib/model_generator/manifest.yml +9 -1
- data/lib/model_generator/model_generator.rb +5 -1
- data/lib/model_generator/templates/rspec.rb.template +9 -0
- data/lib/scaffold_generator/manifest.yml +9 -2
- data/lib/scaffold_generator/scaffold_generator.rb +6 -5
- data/lib/scaffold_generator/templates/app/controllers/controller.rb.template +8 -7
- data/lib/scaffold_generator/templates/spec.rb.template +47 -0
- data/lib/tasks/db_create_drop_tasks.rake +39 -57
- data/lib/tasks/db_migration_tasks.rake +9 -74
- metadata +15 -45
- data/test/database.yml +0 -3
- data/test/fixtures/add_users_migration.rb.fixture +0 -9
- data/test/fixtures/album.rb.fixture +0 -3
- data/test/fixtures/album_unit_test.rb.fixture +0 -9
- data/test/fixtures/create_users_migration.rb.fixture +0 -12
- data/test/fixtures/routes.rb.fixture +0 -3
- data/test/fixtures/zoo.rb.fixture +0 -3
- data/test/fixtures/zoo_no_cols/edit.html.erb.fixture +0 -11
- data/test/fixtures/zoo_no_cols/index.html.erb.fixture +0 -20
- data/test/fixtures/zoo_no_cols/new.html.erb.fixture +0 -11
- data/test/fixtures/zoo_no_cols/show.html.erb.fixture +0 -6
- data/test/fixtures/zoo_with_cols/edit.html.erb.fixture +0 -19
- data/test/fixtures/zoo_with_cols/index.html.erb.fixture +0 -26
- data/test/fixtures/zoo_with_cols/new.html.erb.fixture +0 -19
- data/test/fixtures/zoo_with_cols/show.html.erb.fixture +0 -22
- data/test/fixtures/zoo_with_cols/zoos_controller.rb.fixture +0 -50
- data/test/generators/migration_generator_test.rb +0 -71
- data/test/generators/model_generator_test.rb +0 -37
- data/test/generators/scaffold_generator_test.rb +0 -61
- data/test/lib/user.rb +0 -3
- data/test/tasks/db_migration_tasks_test.rb +0 -57
- data/test/test_helper.rb +0 -77
@@ -1,57 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
-
|
3
|
-
class DbTasksTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
$current_rake_task = File.join(File.dirname(__FILE__), "..", "..", "lib", "tasks", "db_migration_tasks.rake")
|
6
|
-
|
7
|
-
def test_db_rollback
|
8
|
-
test_db_migrate
|
9
|
-
si = SchemaInfo.find(:first)
|
10
|
-
assert_equal 2, si.version
|
11
|
-
assert_equal 1, User.count
|
12
|
-
rake_task("db:rollback")
|
13
|
-
si = SchemaInfo.find(:first)
|
14
|
-
assert_equal 1, si.version
|
15
|
-
assert_equal 0, User.count
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_db_rollback_two_steps
|
19
|
-
test_db_migrate
|
20
|
-
si = SchemaInfo.find(:first)
|
21
|
-
assert_equal 2, si.version
|
22
|
-
rake_task("db:rollback", "STEP" => "2")
|
23
|
-
si = SchemaInfo.find(:first)
|
24
|
-
assert_equal 0, si.version
|
25
|
-
assert !User.table_exists?
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_db_rollback_unrun_migrations
|
29
|
-
test_db_migrate
|
30
|
-
MigrationGenerator.run("name" => "create_comments")
|
31
|
-
si = SchemaInfo.find(:first)
|
32
|
-
assert_equal 2, si.version
|
33
|
-
assert_raise(Mack::Errors::UnrunMigrations) { rake_task("db:rollback") }
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_db_migrate
|
37
|
-
assert !SchemaInfo.table_exists?
|
38
|
-
rake_task("db:migrate") do
|
39
|
-
assert SchemaInfo.table_exists?
|
40
|
-
si = SchemaInfo.find(:first)
|
41
|
-
assert_equal 0, si.version
|
42
|
-
end
|
43
|
-
FileUtils.cp(fixture_path("create_users_migration.rb"), File.join(migrations_directory, "001_create_users.rb"))
|
44
|
-
assert !User.table_exists?
|
45
|
-
rake_task("db:migrate")
|
46
|
-
assert User.table_exists?
|
47
|
-
si = SchemaInfo.find(:first)
|
48
|
-
assert_equal 1, si.version
|
49
|
-
FileUtils.cp(fixture_path("add_users_migration.rb"), File.join(migrations_directory, "002_add_users.rb"))
|
50
|
-
assert_equal 0, User.count
|
51
|
-
rake_task("db:migrate")
|
52
|
-
assert_equal 1, User.count
|
53
|
-
si = SchemaInfo.find(:first)
|
54
|
-
assert_equal 2, si.version
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
data/test/test_helper.rb
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
require "test/unit"
|
2
|
-
require File.join(File.dirname(__FILE__), "..", "..", "test_helpers")
|
3
|
-
|
4
|
-
module Mack
|
5
|
-
module Configuration
|
6
|
-
def self.method_missing(sym, *args)
|
7
|
-
ev = "_mack_#{sym}".downcase
|
8
|
-
return ENV[ev]
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.set(name, value)
|
12
|
-
ENV["_mack_#{name.to_s.downcase}"] = value
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
$genosaurus_output_directory = File.join(File.dirname(__FILE__), "..", "tmp")
|
18
|
-
|
19
|
-
ENV["_mack_config_directory"] = File.dirname(__FILE__)
|
20
|
-
ENV["_mack_root"] = $genosaurus_output_directory
|
21
|
-
ENV["_mack_app_directory"] = File.join($genosaurus_output_directory, "app")
|
22
|
-
ENV["_mack_env"] = "test"
|
23
|
-
ENV["_mack_views_directory"] = File.join(ENV["_mack_app_directory"], "views")
|
24
|
-
|
25
|
-
require File.join(File.dirname(__FILE__), "..", "lib", "mack-active_record")
|
26
|
-
require File.join(File.dirname(__FILE__), "..", "..", "mack-orm_common", "lib", "mack-orm_common")
|
27
|
-
|
28
|
-
|
29
|
-
load File.join(File.dirname(__FILE__), "lib", "user.rb")
|
30
|
-
|
31
|
-
class Test::Unit::TestCase
|
32
|
-
|
33
|
-
# place common methods, assertions, and other type things in this file so
|
34
|
-
# other tests will have access to them.
|
35
|
-
|
36
|
-
def cleanup
|
37
|
-
ActiveRecord::Base.clear_active_connections!
|
38
|
-
FileUtils.rm_rf($genosaurus_output_directory)
|
39
|
-
FileUtils.rm_rf(File.join(Mack::Configuration.config_directory, "routes.rb"))
|
40
|
-
end
|
41
|
-
|
42
|
-
def teardown
|
43
|
-
cleanup
|
44
|
-
end
|
45
|
-
|
46
|
-
def setup
|
47
|
-
ActiveRecord::Base.clear_active_connections!
|
48
|
-
[$genosaurus_output_directory, migrations_directory, models_directory].each do |d|
|
49
|
-
FileUtils.mkdir_p(d)
|
50
|
-
end
|
51
|
-
FileUtils.cp(fixture_path("routes.rb"), File.join(Mack::Configuration.config_directory, "routes.rb"))
|
52
|
-
end
|
53
|
-
|
54
|
-
def migrations_directory
|
55
|
-
File.join($genosaurus_output_directory, "db", "migrations")
|
56
|
-
end
|
57
|
-
|
58
|
-
def models_directory
|
59
|
-
File.join($genosaurus_output_directory, "app", "models")
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_directory
|
63
|
-
File.join($genosaurus_output_directory, "test")
|
64
|
-
end
|
65
|
-
|
66
|
-
def fixture_path(*name)
|
67
|
-
path = [File.dirname(__FILE__), "fixtures"]
|
68
|
-
path << name
|
69
|
-
path.flatten!
|
70
|
-
File.join(path) + ".fixture"
|
71
|
-
end
|
72
|
-
|
73
|
-
def fixture(*name)
|
74
|
-
File.open(fixture_path(name)).read
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|