socialforge/test/functional/courses_controller_test.rb

72 lines
2.2 KiB
Ruby

require File.expand_path('../../test_helper', __FILE__)
class CoursesControllerTest < ActionController::TestCase
fixtures :courses, :users, :user_extensions, :roles, :members, :member_roles, :enabled_modules, :boards, :messages
def setup
@request.session[:user_id] = nil
@request.session[:ctime] = Time.now.to_i
@request.session[:atime] = Time.now.to_i
Setting.default_language = 'en'
end
def test_index_by_anonymous_should_not_show_private_projects
get :index
assert_response :success
assert_template 'index'
courses = assigns(:courses)
assert_not_nil courses
assert courses.all?(&:is_public?)
end
# 人员添加课程的权限是不属于任何角色
def test_new_course_anyone_temporary
@request.session[:user_id] = 5
Role.find_by_name("Non member").add_permission! :add_course #Non member
get :new
assert_response :success
assert_template :new
end
def test_create_course_anyone_temporary
@request.session[:user_id] = 5
Role.find_by_name("Non member").add_permission! :add_course #Non member
post :create,
:class_period => '32',
:time => '2014',
:term => 'spring',
:course => {
:name => 'course one',
:password => '1234',
:description => 'description',
:is_public => '1234',
:course_type => '1'
}
assert_response :found
course = Course.find_by_name('course one')
assert_redirected_to "courses/#{course.id}/settings"
#assert_redirected_to "courses/#{course.id}/settings"
end
# test "#index by non-admin user with view_time_entries permission should show overall spent time link" do
# @request.session[:user_id] = 3
# get :index
# assert_template 'index'
# assert_select 'a[href=?]', '/time_entries'
# end
#
# test "#index by non-admin user without view_time_entries permission should not show overall spent time link" do
# Role.find(2).remove_permission! :view_time_entries
# Role.non_member.remove_permission! :view_time_entries
# Role.anonymous.remove_permission! :view_time_entries
# @request.session[:user_id] = 3
#
# get :index
# assert_template 'index'
# assert_select 'a[href=?]', '/time_entries', 0
# end
end