ardb 0.26.0 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/ardb.gemspec +1 -0
  2. data/bin/ardb +1 -1
  3. data/lib/ardb.rb +1 -1
  4. data/lib/ardb/adapter/base.rb +73 -66
  5. data/lib/ardb/adapter/sqlite.rb +1 -1
  6. data/lib/ardb/adapter_spy.rb +18 -5
  7. data/lib/ardb/cli.rb +239 -76
  8. data/lib/ardb/clirb.rb +58 -0
  9. data/lib/ardb/default_order_by.rb +59 -0
  10. data/lib/ardb/has_slug.rb +7 -6
  11. data/lib/ardb/migration.rb +42 -0
  12. data/lib/ardb/migration_helpers.rb +56 -53
  13. data/lib/ardb/record_spy.rb +5 -5
  14. data/lib/ardb/relation_spy.rb +13 -2
  15. data/lib/ardb/root_path.rb +7 -4
  16. data/lib/ardb/test_helpers.rb +56 -42
  17. data/lib/ardb/use_db_default.rb +8 -7
  18. data/lib/ardb/version.rb +1 -1
  19. data/test/support/factory.rb +5 -0
  20. data/test/unit/adapter/base_tests.rb +22 -5
  21. data/test/unit/adapter/mysql_tests.rb +1 -1
  22. data/test/unit/adapter/sqlite_tests.rb +2 -2
  23. data/test/unit/adapter_spy_tests.rb +19 -6
  24. data/test/unit/cli_tests.rb +610 -0
  25. data/test/unit/default_order_by_tests.rb +122 -0
  26. data/test/unit/has_slug_tests.rb +5 -0
  27. data/test/unit/migration_tests.rb +88 -0
  28. data/test/unit/record_spy_tests.rb +6 -0
  29. data/test/unit/test_helpers_tests.rb +26 -3
  30. data/test/unit/use_db_default_tests.rb +5 -0
  31. metadata +31 -25
  32. data/lib/ardb/runner.rb +0 -50
  33. data/lib/ardb/runner/connect_command.rb +0 -20
  34. data/lib/ardb/runner/create_command.rb +0 -25
  35. data/lib/ardb/runner/drop_command.rb +0 -25
  36. data/lib/ardb/runner/generate_command.rb +0 -64
  37. data/lib/ardb/runner/migrate_command.rb +0 -28
  38. data/test/unit/runner/connect_command_tests.rb +0 -17
  39. data/test/unit/runner/create_command_tests.rb +0 -67
  40. data/test/unit/runner/drop_command_tests.rb +0 -68
  41. data/test/unit/runner/generate_command_tests.rb +0 -46
  42. data/test/unit/runner/migrate_command_tests.rb +0 -96
  43. data/test/unit/runner_tests.rb +0 -69
@@ -1,69 +0,0 @@
1
- require 'assert'
2
- require 'ardb/runner'
3
-
4
- require 'active_record'
5
- require 'pathname'
6
-
7
- class Ardb::Runner
8
-
9
- class UnitTests < Assert::Context
10
- desc "Ardb::Runner"
11
- setup do
12
- @runner = Ardb::Runner.new(['null', 1, 2], 'some' => 'opts')
13
- end
14
- subject{ @runner }
15
-
16
- should have_readers :cmd_name, :cmd_args, :opts
17
-
18
- should "know its cmd, cmd_args, and opts" do
19
- assert_equal 'null', subject.cmd_name
20
- assert_equal [1,2], subject.cmd_args
21
- assert_equal 'opts', subject.opts['some']
22
- end
23
-
24
- end
25
-
26
- class RunTests < UnitTests
27
- desc "when running a command"
28
- setup do
29
- Ardb::Adapter.reset
30
- @runner = Ardb::Runner.new(['null', 1, 2], {})
31
- end
32
- teardown do
33
- Ardb::Adapter.reset
34
- end
35
-
36
- should "validate the configs" do
37
- orig_adapter = Ardb.config.db.adapter
38
- Ardb.config.db.adapter = nil
39
- assert_raises(Ardb::NotConfiguredError) { subject.run }
40
- Ardb.config.db.adapter = orig_adapter
41
- end
42
-
43
- should "init the adapter" do
44
- assert_nil Ardb.adapter
45
- subject.run
46
- assert_not_nil Ardb.adapter
47
- end
48
-
49
- should "set the AR logger" do
50
- default_ar_logger = ActiveRecord::Base.logger
51
- subject.run
52
- assert_equal Ardb.config.logger, ActiveRecord::Base.logger
53
- ActiveRecord::Base.logger = default_ar_logger
54
- end
55
-
56
- should "add the working directory to the load paths" do
57
- $LOAD_PATH.delete(Dir.pwd)
58
- subject.run
59
- assert_includes Dir.pwd, $LOAD_PATH
60
- end
61
-
62
- should "complain about unknown cmds" do
63
- runner = Ardb::Runner.new(['unknown'], {})
64
- assert_raises(UnknownCmdError) { runner.run }
65
- end
66
-
67
- end
68
-
69
- end