diff --git a/test_app/spec/controllers/controller_spec.rb b/test_app/spec/controllers/controller_spec.rb index fd34538..7af42b9 100644 --- a/test_app/spec/controllers/controller_spec.rb +++ b/test_app/spec/controllers/controller_spec.rb @@ -16,26 +16,26 @@ describe ArticlesController do end it "should log an impression without a message" do - get "show", id: 1 + get "show", :id=> 1 Impression.all.size.should eq 11 Article.first.impressions.last.message.should eq nil end it "should log the user_id if user is authenticated (@current_user before_filter method)" do session[:user_id] = 123 - get "show", id: 1 + get "show", :id=> 1 Article.first.impressions.last.user_id.should eq 123 end it "should not log the user_id if user is authenticated" do - get "show", id: 1 + get "show", :id=> 1 Article.first.impressions.last.user_id.should eq nil end end describe PostsController do it "should log impression at the action level" do - get "show", id: 1 + get "show", :id=> 1 Impression.all.size.should eq 11 Impression.last.controller_name.should eq "posts" Impression.last.impressionable_type.should eq "Post" @@ -44,14 +44,14 @@ describe PostsController do it "should log the user_id if user is authenticated (current_user helper method)" do session[:user_id] = 123 - get "show", id: 1 + get "show", :id=> 1 Post.first.impressions.last.user_id.should eq 123 end end describe WidgetsController do it "should log impression at the per action level" do - get "show", id: 1 + get "show", :id=> 1 Impression.all.size.should eq 11 get "index" Impression.all.size.should eq 12 @@ -61,13 +61,13 @@ describe WidgetsController do it "should not log impression when user-agent is in wildcard list" do request.stub!(:user_agent).and_return('somebot') - get "show", id: 1 + get "show", :id=> 1 Impression.all.size.should eq 10 end it "should not log impression when user-agent is in the bot list" do request.stub!(:user_agent).and_return('Acoon Robot v1.50.001') - get "show", id: 1 + get "show", :id=> 1 Impression.all.size.should eq 10 end end diff --git a/test_app/spec/initializers_spec.rb b/test_app/spec/intializers/initializers_spec.rb similarity index 61% rename from test_app/spec/initializers_spec.rb rename to test_app/spec/intializers/initializers_spec.rb index 2decd98..bfd9505 100644 --- a/test_app/spec/initializers_spec.rb +++ b/test_app/spec/intializers/initializers_spec.rb @@ -2,11 +2,13 @@ require 'spec_helper' describe Impressionist do it "should be extended from ActiveRecord::Base" do - ActiveRecord::Base.methods.include?(:is_impressionable).should be true + method = RUBY_VERSION.match("1.8") ? "is_impressionable" : :is_impressionable + ActiveRecord::Base.methods.include?(method).should be true end it "should include methods in ApplicationController" do - ApplicationController.instance_methods.include?(:impressionist).should be true + method = RUBY_VERSION.match("1.8") ? "impressionist" : :impressionist + ApplicationController.instance_methods.include?(method).should be true end it "should include the before_filter method in ApplicationController" do diff --git a/test_app/spec/models/model_spec.rb b/test_app/spec/models/model_spec.rb index f831002..e17fc46 100644 --- a/test_app/spec/models/model_spec.rb +++ b/test_app/spec/models/model_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe Impression do - fixtures :articles,:impressions + fixtures :articles,:impressions,:posts before(:each) do @article = Article.find(1) @@ -13,7 +13,7 @@ describe Impression do end it "should save an impression with a message" do - @article.impressions.create(message:"test message") + @article.impressions.create(:message=>"test message") @article.impressions.last.message.should eq "test message" end diff --git a/test_app/spec/rails_generators/rails_generators_spec.rb b/test_app/spec/rails_generators/rails_generators_spec.rb new file mode 100644 index 0000000..90c377d --- /dev/null +++ b/test_app/spec/rails_generators/rails_generators_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' +require 'systemu' + +describe Impressionist do + fixtures :articles,:impressions,:posts + it "should delete existing migration and generate the migration file" do + migrations_dir = "#{Rails.root}/db/migrate" + impressions_migration = Dir.entries(migrations_dir).grep(/impressions/)[0] + File.delete("#{migrations_dir}/#{impressions_migration}") unless impressions_migration.blank? + generator_output = systemu("rails g impressionist")[1] + migration_name = generator_output.split("migrate/")[1].strip + Dir.entries(migrations_dir).include?(migration_name).should be true + end + + it "should run the migration created in the previous spec" do + migrate_output = systemu("rake db:migrate") + migrate_output[1].include?("CreateImpressionsTable: migrated").should be true + end +end \ No newline at end of file