Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- functional
- functional/account_controller_test.rb
- functional/admin_controller_test.rb
- functional/ads_controller_test.rb
- functional/main_controller_test.rb
- test_helper.rb
- unit
- unit/ad_test.rb
- unit/author_test.rb
- unit/category_test.rb
- unit/mailman_test.rb
- unit/parent_category_test.rb
- unit/user_test.rb
- -
- /functional/account_controller_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- require 'account_controller'
- class AccountController; def rescue_action(e) raise e end; end
- class AccountControllerTest < Test::Unit::TestCase
- include AuthenticatedTestHelper
- fixtures :users
- def setup
- @controller AccountController.new
- @request ActionController::TestRequest.new
- @response ActionController::TestResponse.new
- end
- def test_should_login_and_redirect
- post :login, :email > 'quentin@example.com', :password > 'test'
- assert session[:user]
- assert_response :redirect
- end
- def test_should_fail_login_and_not_redirect
- post :login, :example > 'quentin@example', :password > 'bad password'
- assert_nil session[:user]
- assert_response :success
- end
- def test_should_allow_signup
- assert_difference User, :count do
- create_user
- assert_response :redirect
- end
- end
- def test_should_require_password_on_signup
- assert_no_difference User, :count do
- create_user(:password > nil)
- assert assigns(:user).errors.on(:password)
- assert_response :success
- end
- end
- def test_should_require_password_confirmation_on_signup
- assert_no_difference User, :count do
- create_user(:password_confirmation > nil)
- assert assigns(:user).errors.on(:password_confirmation)
- assert_response :success
- end
- end
- def test_should_require_email_on_signup
- assert_no_difference User, :count do
- create_user(:email > nil)
- assert assigns(:user).errors.on(:email)
- assert_response :success
- end
- end
- def test_should_logout
- login_as :quentin
- get :logout
- assert_nil session[:user]
- assert_response :redirect
- end
- def test_should_remember_me
- post :login, :email > 'quentin@example.com', :password > 'test', :remember_me > "1"
- assert_not_nil @response.cookies["auth_token"]
- end
- def test_should_not_remember_me
- post :login, :email > 'quentin@example.com', :password > 'test', :remember_me > "0"
- assert_nil @response.cookies["auth_token"]
- end
- def test_should_delete_token_on_logout
- login_as :quentin
- get :logout
- assert_equal @response.cookies["auth_token"], []
- end
- def test_should_login_with_cookie
- users(:quentin).remember_me
- @request.cookies["auth_token"] cookie_for(:quentin)
- get :index
- assert @controller.send(:logged_in?)
- end
- def test_should_fail_expired_cookie_login
- users(:quentin).remember_me
- users(:quentin).update_attribute :remember_token_expires_at, 5.minutes.ago
- @request.cookies["auth_token"] cookie_for(:quentin)
- get :index
- assert !@controller.send(:logged_in?)
- end
- def test_should_fail_cookie_login
- users(:quentin).remember_me
- @request.cookies["auth_token"] auth_token('invalid_auth_token')
- get :index
- assert !@controller.send(:logged_in?)
- end
- protected
- def create_user(options {})
- post :signup, :user > { :email > 'quire@example.com',
- :password > 'quire', :password_confirmation > 'quire' }.merge(options)
- end
- def auth_token(token)
- CGI::Cookie.new('name' > 'auth_token', 'value' > token)
- end
- def cookie_for(user)
- auth_token users(user).remember_token
- end
- end
- -
- /functional/admin_controller_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class AdminControllerTest < ActionController::TestCase
- def test_truth
- assert true
- end
- end
- -
- /functional/ads_controller_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class AdsControllerTest < ActionController::TestCase
- def test_ad_post_and_email_sent
- get :new, {:category > 1, :title > 'test', :ad > 'test ad'}
- assert_response :success
- end
- def test_url_click_activates_post
- assert true
- end
- end
- -
- /functional/main_controller_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class MainControllerTest < ActionController::TestCase
- def test_truth
- assert true
- end
- end
- -
- /test_helper.rb
- ENV["RAILS_ENV"] "test"
- require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
- require 'test_help'
- class Test::Unit::TestCase
- self.use_transactional_fixtures true
- self.use_instantiated_fixtures false
- fixtures :all
- end
- -
- /unit/ad_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class ClassifiedAdTest < ActiveSupport::TestCase
- def test_ad_creation
- ad Ad.create(:title > ads(:test_one).title)
- assert ad.valid?
- assert_equal(ads(:test_one).title, ad.title)
- assert_equal(false, ad.active)
- assert !ad.activation_hash.nil?
- end
- def test_email_generation_is_working
- ad Ad.create(:title > ads(:test_one).title)
- assert ad.valid?
- assert_match(/^\d{18}@(chuckslist.com)$/i, ad.email)
- end
- def test_no_clash_in_generated_email_address
- for count in (1..10000)
- ad1 Ad.create(:title > 'Ad1')
- ad2 Ad.create(:title > 'Ad2')
- assert_not_equal(ad1.email, ad2.email)
- end
- end
- def test_created_ads
- end
- end
- -
- /unit/author_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class AuthorTest < ActiveSupport::TestCase
- def test_truth
- assert true
- end
- end
- -
- /unit/category_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class CategoryTest < ActiveSupport::TestCase
- def test_truth
- assert true
- end
- end
- -
- /unit/mailman_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class MailmanTest < ActionMailer::TestCase
- tests Mailman
- def test_email_fixture_is_working
- email_text read_fixture("test_mail_001").join
- assert_match(/jalopy/i, email_text)
- end
- def test_receive_email_is_working
- email_text read_fixture("test_mail_001").join
- response Mailman.receive(email_text)
- assert_not_equal("200806159145300001@chuckslist.com", response.to[0])
- assert_equal("quentin@example.com", response.to[0])
- assert_equal("drspin_2003@hotmail.com", response.from[0])
- assert_match(/jalopy/i, response.body)
- assert_match(/Email delivered by Chuckslist/i, response.body)
- end
- def test_fake_email_is_garbaged
- email_test read_fixture("test_mail_002").join
- response Mailman.receive(email_test)
- assert_not_equal("quentin@example.com", response.to[0])
- assert_equal("garbage@chuckslist.org", response.to[0])
- end
- def test_regex_match_reply_to_ad_email
- assert_match(/^\d{18}@(chuckslist.com)$/i, "200806159145300001@chuckslist.com")
- end
- def test_regex_match_ad_activation_email
- assert_match(/^([a-zA-Z]{22}@(chuckslist.com))$/i, "abcdefghiJKLmnOPQrstUV@chuckslist.com")
- end
- def test_ad_confirmation_email_is_sent
- end
- def test_ad_confirmation_set_true_when_clicked
- end
- def test_ad_confirmation_email_is_working
- end
- end
- -
- /unit/parent_category_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class ParentCategoryTest < ActiveSupport::TestCase
- def test_truth
- assert true
- end
- end
- -
- /unit/user_test.rb
- require File.dirname(__FILE__) + '/../test_helper'
- class UserTest < Test::Unit::TestCase
- include AuthenticatedTestHelper
- fixtures :users
- def test_should_create_user
- assert_difference User, :count do
- user create_user
- assert !user.new_record?, "#{user.errors.full_messages.to_sentence}"
- end
- end
- def test_should_require_password
- assert_no_difference User, :count do
- u create_user(:password > nil)
- assert u.errors.on(:password)
- end
- end
- def test_should_require_password_confirmation
- assert_no_difference User, :count do
- u create_user(:password_confirmation > nil)
- assert u.errors.on(:password_confirmation)
- end
- end
- def test_should_require_email
- assert_no_difference User, :count do
- u create_user(:email > nil)
- assert u.errors.on(:email)
- end
- end
- def test_should_reset_password
- users(:quentin).update_attributes(:password > 'new password', :password_confirmation > 'new password')
- assert_equal users(:quentin), User.authenticate('quentin@example.com', 'new password')
- end
- def test_should_not_rehash_password
- users(:quentin).update_attributes(:email > 'quentin2@example.com')
- assert_equal users(:quentin), User.authenticate('quentin2@example.com', 'test')
- end
- def test_should_authenticate_user
- assert_equal users(:quentin), User.authenticate('quentin@example.com', 'test')
- end
- def test_should_set_remember_token
- users(:quentin).remember_me
- assert_not_nil users(:quentin).remember_token
- assert_not_nil users(:quentin).remember_token_expires_at
- end
- def test_should_unset_remember_token
- users(:quentin).remember_me
- assert_not_nil users(:quentin).remember_token
- users(:quentin).forget_me
- assert_nil users(:quentin).remember_token
- end
- protected
- def create_user(options {})
- User.create({ :email > 'quire@example.com', :password > 'quire', :password_confirmation > 'quire' }.merge(options))
- end
- end
Add Comment
Please, Sign In to add comment