]>
iEval git - gruntmaster-data.git/blob - Gruntmaster-Data.t
d7e2d7faedbd54b4fc3db3267b31d7f6bdfec040
11 Gruntmaster
:: Data
:: init
'dbi:Pg:dbname=gmtest' ; 1 ;
12 } or plan skip_all
=> 'Cannot connect to test database. Create it by running make_test_db.sh before running this test. ' . "Error: $@" ;
16 note
'Running update_status' ;
19 my $x = user_list
->{ us
};
20 is @
$x , 2 , 'user_list has two elements' ;
21 is_deeply
$x ->[ 0 ], { id
=> 'nobody' , admin
=> 0 , name
=> undef , town
=> undef , university
=> undef , country
=> undef , level
=> undef , lastjob
=> undef , contests
=> 1 , solved
=> 2 , attempted
=> 0 }, 'user_list first element is correct' ;
22 is
$x ->[ 1 ]{ admin
}, 1 , 'user_list second user is admin' ;
24 $x = user_entry
'nobody' ;
25 cmp_bag
$x ->{ problems
}, [
26 { problem
=> 'arc' , problem_name
=> 'Problem in archive' , solved
=> bool
1 },
27 { problem
=> 'fca' , problem_name
=> 'FC problem A' , solved
=> bool
1 },
28 ], 'user_entry problems' ;
30 is_deeply
$x ->{ contests
}, [
31 { contest
=> 'fc' , contest_name
=> 'Finished contest' , rank
=> 2 , score
=> 40 },
32 ], 'user_entry contests' ;
34 sub pbids
{ [ map { $_ ->{ id
} } @
{ $x ->{ beginner
}}] }
37 cmp_bag pbids
, [ qw
/arc fca/ ], 'problem_list' ;
39 $x = problem_list private
=> 1 ;
40 cmp_bag pbids
, [ qw
/arc fca rca pca prv/ ], 'problem_list private => 1' ;
42 $x = problem_list contest
=> 'rc' ;
43 cmp_bag pbids
, [ qw
/rca/ ], q
/problem_list contest => 'rc'/ ;
45 $x = problem_list contest
=> 'rc' , solution
=> 1 ;
46 ok
exists $x ->{ beginner
}[ 0 ]{ solution
}, q
/problem_list contest => 'rc', solution => 1 has solution/ ;
48 $x = problem_list owner
=> 'nobody' ;
49 cmp_bag pbids
, [], q
/problem_list owner => 'nobody'/ ;
51 $x = problem_entry
'arc' ;
52 cmp_bag
$x ->{ limits
}, [{ format
=> 'C' , timeout
=> 0.1 }, { format
=> 'CPP' , timeout
=> 0.1 }], 'problem_entry limits' ;
53 is
$x ->{ solution
}, 'Sample Text' , 'problem_entry has solution' ;
55 $x = problem_entry
'rca' , 'rc' ;
56 ok
! exists $x ->{ solution
}, 'problem_entry during contest does not have solution' ;
57 ok
exists $x ->{ contest_start
}, 'problem_entry during contest has contest_start ' ;
60 is
$x ->{ finished
}[ 0 ]{ id
}, 'fc' , 'contest_list fc is finished' ;
61 is
$x ->{ running
}[ 0 ]{ id
}, 'rc' , 'contest_list rc is running' ;
62 is
$x ->{ pending
}[ 0 ]{ id
}, 'pc' , 'contest_list pc is pending' ;
64 $x = contest_entry
'fc' ;
65 cmp_deeply
$x , { id
=> 'fc' , name
=> 'Finished contest' , start
=> ignore
, stop
=> ignore
, owner
=> 'MGV' , owner_name
=> undef , finished
=> bool
( 1 ), started
=> bool
( 1 ), description
=> undef }, 'contest_entry fc' ;
67 $x = contest_full
'fc' ;
68 ok
exists $x ->{ editorial
}, 'contest_full fc has editorial' ;
70 ok contest_has_problem
( 'rc' , 'rca' ), 'contest rc has problem rca' ;
71 ok contest_has_problem
( 'rc' , 'arc' ), 'contest rc does not have problem arc' ;
73 sub jobids
{ [ map { $_ ->{ id
} } @
{ $x ->{ log }} ] }
76 cmp_bag jobids
, [ 1 . .5 ], 'job_list' ;
77 is
$x ->{ current_page
}, 1 , 'current page is 1' ;
78 is
$x ->{ last_page
}, 1 , 'last page is 1' ;
79 ok
! exists $x ->{ previous_page
}, 'there is no previous page' ;
80 ok
! exists $x ->{ next_page
}, 'there is no next page' ;
82 $x = job_list private
=> 1 ;
83 cmp_bag jobids
, [ 1 . .7 ], 'job_list private => 1' ;
85 $x = job_list contest
=> 'fc' ;
86 cmp_bag jobids
, [ 1 . .3 ], 'job_list contest => fc' ;
88 $x = job_list owner
=> 'MGV' ;
89 cmp_bag jobids
, [ 1 ], 'job_ids owner => MGV' ;
91 $x = job_list problem
=> 'fca' ;
92 cmp_bag jobids
, [ 1 . .4 ], 'job_ids problem => fca' ;
94 $x = job_list problem
=> 'fca' , result
=> 1 ;
95 cmp_bag jobids
, [ 2 ], 'job_ids problem => fca, result => 1' ;
98 is
$x ->{ size
}, 21 , 'job_entry size' ;
99 ok
! exists $x ->{ source
}, 'job_entry does not have source' ;
100 is_deeply
$x ->{ results
}, [], 'job_entry results' ;
103 ok
! defined $x ->{ result
}, 'job_entry 7 has NULL result' ;
106 ok
exists $x ->{ source
}, 'job_full has source' ;
110 problems
=> [[ fca
=> 'FC problem A' ]],
112 { rank
=> 1 , user
=> 'MGV' , user_name
=> undef , score
=> 50 , scores
=> [ 50 ]},
113 { rank
=> 2 , user
=> 'nobody' , user_name
=> undef , score
=> 40 , scores
=> [ 40 ]},
This page took 0.070015 seconds and 3 git commands to generate.