Skip to content

Commit

Permalink
fix test unit integration by using ActionController::TestCase instead…
Browse files Browse the repository at this point in the history
… of Test::Unit::TestCase
  • Loading branch information
qrush committed May 24, 2012
1 parent 6833693 commit a6d76dc
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 5 deletions.
5 changes: 3 additions & 2 deletions db/schema.rb
@@ -1,3 +1,4 @@
# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
Expand All @@ -18,8 +19,8 @@
t.string "salt", :limit => 128
t.string "confirmation_token", :limit => 128
t.string "remember_token", :limit => 128
t.datetime "created_at"
t.datetime "updated_at"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end

add_index "users", ["email"], :name => "index_users_on_email"
Expand Down
43 changes: 43 additions & 0 deletions features/integration_with_test_unit.feature
@@ -0,0 +1,43 @@
Feature: integrate with test unit

Background:
When I successfully run `bundle exec rails new testapp`
And I cd to "testapp"
And I remove the file "public/index.html"
And I remove the file "app/views/layouts/application.html.erb"
And I configure ActionMailer to use "localhost" as a host
And I configure a root route
And I add the "factory_girl_rails" gem
And I run `bundle install --local`

Scenario: generate a Rails app, run the generators, and run the tests
When I successfully run `bundle exec rails generate clearance:install`
And I successfully run `bundle exec rake db:migrate --trace`
And I successfully run `bundle exec rails generate controller posts index`
And I add the "cucumber-rails" gem
And I write to "test/test_helper.rb" with:
"""
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
class ActiveSupport::TestCase
fixtures :all
end
require 'clearance/testing'
"""
And I write to "test/functionals/posts_controller_test.rb" with:
"""
require 'test_helper'
class PostsControllerTest < ActionController::TestCase
test "should get index" do
sign_in
get :index
assert_response :success
end
end
"""
And I successfully run `bundle exec rake --trace`
Then the output should contain "1 tests, 1 assertions, 0 failures"
6 changes: 3 additions & 3 deletions lib/clearance/testing.rb
Expand Up @@ -2,9 +2,9 @@
require 'clearance/testing/deny_access_matcher'
require 'clearance/testing/helpers'

if defined?(Test::Unit::TestCase)
Test::Unit::TestCase.extend Clearance::Testing::Matchers
class Test::Unit::TestCase
if defined?(ActionController::TestCase)
ActionController::TestCase.extend Clearance::Testing::Matchers
class ActionController::TestCase
include Clearance::Testing::Helpers
end
end
Expand Down

0 comments on commit a6d76dc

Please sign in to comment.