spec/generators/cream/app/app_generator_spec.rb in cream-0.7.0 vs spec/generators/cream/app/app_generator_spec.rb in cream-0.7.2

- old
+ new

@@ -1,30 +1,50 @@ -require 'spec_helper' +require 'generator_spec_helper' +require_generator :cream => :app +LOGFILE = 'cream-app-config.log' + describe 'Generator' do - with_generator do |g, c| - g.tests Cream::Generators::AppGenerator - c.setup - end + use_helpers :controller, :special, :file, :view - def check_generated_views folder=nil - with_generator do |g, check| - if folder - g.run_generator folder - else - g.run_generator - folder = 'menu' - end - check.view folder, '_admin_login_items.html.erb', %w{admin_block not_admin_block} - check.view folder, '_login_items.html.erb', %w{user_block not_user_block} - check.view folder, 'registration_items.html.erb', %w{user_block not_user_block} + before :each do + setup_generator :cream_app_generator do + tests Cream::Generators::AppGenerator end end - it "should create views in default scope 'menu' " do - check_generated_views + describe "Configure Rails 3 app as a Cream app" do + before do + Dir.chdir Rails.root do + @generator = with_generator do |g| + arguments = "--orm mongoid --logfile #{LOGFILE}".args + g.run_generator arguments + end + end + end + + describe 'result of app generator' do + it "should replace requirement statements in application file" do + ["action_controller/railtie", "action_mailer/railtie", "active_resource/railtie", "rails/test_unit/railtie"].each do |req| + req = Regexp.escape(req) + read_application_file.should match /#{req}/ + end + end + + it "should add notice and alert flash displayers to application layout" do + [:alert, :notice].each do |name| + read_view(:layouts, :application).should match /<%= #{name} %>/ + end + end + + it "should generate Welcome controller" do + controller_file?(:welcome).should be_true + end + + it "should add root to routes file" do + read_routes_file.should match /root\s+:to\s*=>/ + end + end end - - it "should create views in explicit scope 'login' " do - check_generated_views 'login' - end end + +