Show More
Commit Description:
Merge pull request #15 from nattee/master...
Commit Description:
Merge pull request #15 from nattee/master finalizing merge of nattee's master
References:
File last commit:
Show/Diff file:
Action:
spec/controllers/user_admin_controller_spec.rb | 73 lines | 1.9 KiB | text/x-ruby | RubyLexer |
require 'delorean'
require File.dirname(__FILE__) + '/../spec_helper'
require File.dirname(__FILE__) + '/../config_spec_helper'
describe UserAdminController, "when manage contest" do
include ConfigSpecHelperMethods
fixtures :users
fixtures :problems
fixtures :contests
fixtures :roles
def change_users_contest_to(user_login_list, contest, reset_timer=false)
post_data = {
:contest => {:id => contest.id},
:operation => 'assign',
:login_list => user_login_list
}
post_data[:reset_timer] = true if reset_timer
post 'manage_contest', post_data, {:user_id => @admin_user.id}
end
before(:each) do
@admin_user = users(:mary)
@contest_b = contests(:contest_b)
@james = users(:james)
@jack = users(:jack)
set_contest_time_limit('3:00')
set_indv_contest_mode
end
it "should allow admin to see contest management page" do
get 'contest_management', {}, {:user_id => @admin_user.id}
response.should render_template 'user_admin/contest_management'
end
it "should change users' contest" do
change_users_contest_to("james\njack", @contest_b)
response.should redirect_to :action => 'contest_management'
@james.contests(true).should include @contest_b
@jack.contests(true).should_not include @contest_a
end
it "should reset users' timer when their contests change" do
@james.update_start_time
Delorean.time_travel_to(190.minutes.since) do
@james.contest_finished?.should be_true
change_users_contest_to("james", @contest_b, true)
@james.contest_finished?.should be_false
end
end
it "should set forced_logout flag for users when their contests change" do
@james.update_start_time
Delorean.time_travel_to(190.minutes.since) do
@james.contest_finished?.should be_true
change_users_contest_to("james", @contest_b, true)
@james.contest_stat(true).forced_logout.should be_true
end
end
end