ardb 0.27.3 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -7
- data/Gemfile +4 -5
- data/README.md +252 -3
- data/ardb.gemspec +8 -8
- data/bin/ardb +1 -1
- data/lib/ardb.rb +155 -72
- data/lib/ardb/adapter/base.rb +67 -47
- data/lib/ardb/adapter/mysql.rb +3 -19
- data/lib/ardb/adapter/postgresql.rb +33 -37
- data/lib/ardb/adapter/sqlite.rb +7 -16
- data/lib/ardb/adapter_spy.rb +58 -92
- data/lib/ardb/cli.rb +18 -226
- data/lib/ardb/{clirb.rb → cli/clirb.rb} +16 -18
- data/lib/ardb/cli/commands.rb +365 -0
- data/lib/ardb/db_tests.rb +2 -4
- data/lib/ardb/default_order_by.rb +3 -13
- data/lib/ardb/migration.rb +18 -20
- data/lib/ardb/record_spy.rb +7 -26
- data/lib/ardb/relation_spy.rb +0 -6
- data/lib/ardb/require_autoloaded_active_record_files.rb +103 -58
- data/lib/ardb/test_helpers.rb +2 -5
- data/lib/ardb/use_db_default.rb +4 -15
- data/lib/ardb/version.rb +1 -1
- data/script/determine_autoloaded_active_record_files.rb +11 -8
- data/test/helper.rb +9 -6
- data/test/support/factory.rb +17 -2
- data/test/support/fake_schema.rb +5 -0
- data/test/support/postgresql/migrations/.keep +0 -0
- data/test/support/postgresql/schema.rb +2 -0
- data/test/support/postgresql/setup_test_db.rb +51 -0
- data/test/support/relative_require_test_db_file.rb +2 -0
- data/test/support/require_test_db_file.rb +1 -0
- data/test/system/.keep +0 -0
- data/test/unit/adapter/base_tests.rb +163 -75
- data/test/unit/adapter/mysql_tests.rb +4 -20
- data/test/unit/adapter/postgresql_tests.rb +20 -28
- data/test/unit/adapter/sqlite_tests.rb +9 -12
- data/test/unit/adapter_spy_tests.rb +48 -71
- data/test/unit/ardb_tests.rb +338 -38
- data/test/unit/cli_tests.rb +334 -225
- data/test/unit/db_tests_tests.rb +3 -6
- data/test/unit/default_order_by_tests.rb +4 -8
- data/test/unit/migration_tests.rb +20 -17
- data/test/unit/record_spy_tests.rb +18 -23
- data/test/unit/relation_spy_tests.rb +17 -46
- data/test/unit/test_helpers_tests.rb +5 -20
- data/test/unit/use_db_default_tests.rb +9 -13
- metadata +111 -100
- data/lib/ardb/has_slug.rb +0 -107
- data/lib/ardb/migration_helpers.rb +0 -77
- data/lib/ardb/root_path.rb +0 -15
- data/test/unit/config_tests.rb +0 -58
- data/test/unit/has_slug_tests.rb +0 -341
- data/test/unit/migration_helpers_tests.rb +0 -59
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'assert'
|
2
|
-
require 'ardb/migration_helpers'
|
3
|
-
|
4
|
-
module Ardb::MigrationHelpers
|
5
|
-
|
6
|
-
class UnitTests < Assert::Context
|
7
|
-
desc "Ardb migration helpers"
|
8
|
-
subject{ Ardb::MigrationHelpers }
|
9
|
-
|
10
|
-
should have_imeths :foreign_key, :drop_foreign_key, :remove_column_with_fk
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
class ForeignKeyTests < UnitTests
|
15
|
-
desc "ForeignKey handler"
|
16
|
-
setup do
|
17
|
-
@fk = ForeignKey.new('fromtbl', 'fromcol', 'totbl')
|
18
|
-
end
|
19
|
-
subject{ @fk }
|
20
|
-
|
21
|
-
should have_readers :from_table, :from_column, :to_table, :to_column
|
22
|
-
should have_readers :name, :adapter
|
23
|
-
should have_imeths :add_sql, :drop_sql
|
24
|
-
|
25
|
-
should "know its from table/column and to table" do
|
26
|
-
assert_equal 'fromtbl', subject.from_table
|
27
|
-
assert_equal 'fromcol', subject.from_column
|
28
|
-
assert_equal 'totbl', subject.to_table
|
29
|
-
end
|
30
|
-
|
31
|
-
should "default its to column" do
|
32
|
-
assert_equal 'id', subject.to_column
|
33
|
-
end
|
34
|
-
|
35
|
-
should "default its name" do
|
36
|
-
exp_name = "fk_fromtbl_fromcol"
|
37
|
-
assert_equal exp_name, subject.name
|
38
|
-
end
|
39
|
-
|
40
|
-
should "use Ardb's config db adapter" do
|
41
|
-
exp_adapter = Ardb::Adapter.send(Ardb.config.db.adapter)
|
42
|
-
assert_equal exp_adapter, subject.adapter
|
43
|
-
end
|
44
|
-
|
45
|
-
should "generate appropriate foreign key sql" do
|
46
|
-
exp_add_sql = "ALTER TABLE fromtbl"\
|
47
|
-
" ADD CONSTRAINT fk_fromtbl_fromcol"\
|
48
|
-
" FOREIGN KEY (fromcol)"\
|
49
|
-
" REFERENCES totbl (id)"
|
50
|
-
assert_equal exp_add_sql, subject.add_sql
|
51
|
-
|
52
|
-
exp_drop_sql = "ALTER TABLE fromtbl"\
|
53
|
-
" DROP CONSTRAINT fk_fromtbl_fromcol"
|
54
|
-
assert_equal exp_drop_sql, subject.drop_sql
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|