Project

General

Profile

Download (2.04 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

class FiltersControllerTest < ActionController::TestCase
setup do
User.current = users(:admin)
end

test 'get index' do
get :index, {}, set_session_user
assert_response :success
assert_template 'index'

assert_not_nil assigns(:filters)
end

test 'get new' do
get :new, {}, set_session_user
assert_response :success
assert_template 'new'
end

test "changes should expire topbar cache" do
user1 = FactoryGirl.create(:user, :with_mail)
user2 = FactoryGirl.create(:user, :with_mail)
filter = FactoryGirl.create(:filter, :on_name_all)
role = filter.role
role.users = [user1, user2]
role.save!

User.any_instance.expects(:expire_topbar_cache).twice
put :update, { :id => filter.id, :filter => {:role_id => role.id, :search => "name ~ a*"}}, set_session_user
end

test "should get index with role_id and create scoped search on role.name" do
role = roles(:manager)
get :index, {:role_id => role.id}, set_session_user
assert_response :success
refute_empty assigns(:filters)
assert_equal Filter.search_for("role = #{role.name}").count, assigns(:filters).count
end

test "should get new" do
get :new, {}, set_session_user
assert_response :success
end

test "should create filter" do
assert_difference('Filter.count') do
post :create, {:filter => { :role_id => roles(:manager).id, :permission_ids => [permissions(:access_dashboard).id] }}, set_session_user
end
assert_redirected_to filters_path
end

test "should get edit" do
get :edit, {:id => filters(:manager_1)}, set_session_user
assert_response :success
end

test "should update filter" do
put :update, {:id => filters(:manager_1), :filter => { :permission_ids => [permissions(:access_dashboard).id] }}, set_session_user
assert_redirected_to filters_path
end

test "should destroy filter" do
assert_difference('Filter.count', -1) do
delete :destroy, {:id => filters(:manager_1)}, set_session_user
end
assert_redirected_to filters_path
end
end
(17-17/44)