categories_controller_spec.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:2k
源码类别:

Ajax

开发平台:

Others

  1. require File.dirname(__FILE__) + '/../../spec_helper'
  2. describe Admin::CategoriesController do
  3.   integrate_views
  4.   before do
  5.     request.session = { :user => users(:tobi).id }
  6.   end
  7.   it "test_index" do
  8.     get :index
  9.     assert_template 'index'
  10.     assert_template_has 'categories'
  11.     assert_tag :tag => "div",
  12.       :attributes => { :id => "category_container" }
  13.   end
  14.   it "test_create" do
  15.     assert_difference 'Category.count' do
  16.       post :edit, 'category' => { :name => "test category" }
  17.       assert_response :redirect, :action => 'index'
  18.     end
  19.   end
  20.   it "test_edit" do
  21.     get :edit, :id => categories(:software).id
  22.     assert_template 'new'
  23.     assert_template_has 'category'
  24.     assert assigns(:category).valid?
  25.   end
  26.   it "test_update" do
  27.     post :edit, :id => categories(:software).id
  28.     assert_response :redirect, :action => 'index'
  29.   end
  30.   it "test_destroy" do
  31.     test_id = categories(:software).id
  32.     assert_not_nil Category.find(test_id)
  33.     get :destroy, :id => test_id
  34.     assert_response :success
  35.     assert_template 'destroy'
  36.     post :destroy, :id => test_id
  37.     assert_response :redirect, :action => 'index'
  38.     assert_raise(ActiveRecord::RecordNotFound) { Category.find(test_id) }
  39.   end
  40.   it "test_order" do
  41.     assert_equal categories(:software), Category.find(:first, :order => :position)
  42.     get :order, :category_list => [categories(:personal).id, categories(:hardware).id, categories(:software).id]
  43.     assert_response :success
  44.     assert_equal categories(:personal), Category.find(:first, :order => :position)
  45.   end
  46.   it "test_asort" do
  47.     assert_equal categories(:software), Category.find(:first, :order => :position)
  48.     get :asort
  49.     assert_response :success
  50.     assert_template "_categories"
  51.     assert_equal categories(:hardware), Category.find(:first, :order => :position)
  52.   end
  53.   it "test_reorder" do
  54.     get :reorder
  55.     assert_response :success
  56.     assert_template "reorder"
  57.     assert_select 'ul#category_list > li', Category.count
  58.     assert_select 'a', '(Done)'
  59.   end
  60. end