ardb 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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