diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2015-04-16 18:28:40 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2015-06-11 16:54:10 -0300 |
commit | 2a9cf48a615d39b932f0323d158e935a0300f7c4 (patch) | |
tree | bf67f1efd5241a762ec24c4d36419ff56756cc57 /railties/test/generators | |
parent | 3adb5eac3b6d81a0943bebd8dffa25a3b63681eb (diff) | |
download | rails-2a9cf48a615d39b932f0323d158e935a0300f7c4.tar.gz rails-2a9cf48a615d39b932f0323d158e935a0300f7c4.tar.bz2 rails-2a9cf48a615d39b932f0323d158e935a0300f7c4.zip |
rails new --api generates an api app skeleton
Diffstat (limited to 'railties/test/generators')
-rw-r--r-- | railties/test/generators/api_app_generator_test.rb | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/railties/test/generators/api_app_generator_test.rb b/railties/test/generators/api_app_generator_test.rb new file mode 100644 index 0000000000..d7121da45f --- /dev/null +++ b/railties/test/generators/api_app_generator_test.rb @@ -0,0 +1,76 @@ +require 'generators/generators_test_helper' +require 'rails/generators/rails/app/app_generator' + +class ApiAppGeneratorTest < Rails::Generators::TestCase + include GeneratorsTestHelper + tests Rails::Generators::AppGenerator + + arguments [destination_root, '--api'] + + def setup + Rails.application = TestApp::Application + super + + Kernel::silence_warnings do + Thor::Base.shell.send(:attr_accessor, :always_force) + @shell = Thor::Base.shell.new + @shell.send(:always_force=, true) + end + end + + def teardown + super + Rails.application = TestApp::Application.instance + end + + def test_skeleton_is_created + run_generator + + default_files.each { |path| assert_file path } + skipped_files.each { |path| assert_no_file path } + end + + def test_api_modified_files + run_generator + + assert_file "Gemfile" do |content| + assert_no_match(/gem 'coffee-rails'/, content) + assert_no_match(/gem 'jquery-rails'/, content) + assert_no_match(/gem 'sass-rails'/, content) + end + assert_file "app/controllers/application_controller.rb", /ActionController::API/ + end + + private + + def default_files + files = %W( + .gitignore + Gemfile + Rakefile + config.ru + app/controllers + app/mailers + app/models + config/environments + config/initializers + config/locales + db + lib + lib/tasks + lib/assets + log + test/fixtures + test/controllers + test/integration + test/models + ) + files.concat %w(bin/bundle bin/rails bin/rake) + files + end + + def skipped_files + %w(vendor/assets + tmp/cache/assets) + end +end |