X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=t%2FGruntmaster-Data.t;fp=t%2FGruntmaster-Data.t;h=0b325a3ff637c87b1c1f3fa8e7f169688675df4d;hb=b69781c1e813454383f9890792d3c2b35d747bd4;hp=54861af544b218237a321ccfdfd9ed3bfb5bd289;hpb=1ea1adc8a16e90ff6ba6a00655b3e02fe7aadfec;p=gruntmaster-data.git diff --git a/t/Gruntmaster-Data.t b/t/Gruntmaster-Data.t index 54861af..0b325a3 100644 --- a/t/Gruntmaster-Data.t +++ b/t/Gruntmaster-Data.t @@ -10,7 +10,7 @@ BEGIN { eval { Gruntmaster::Data::init 'dbi:Pg:dbname=gmtest'; 1; } or plan skip_all => 'Cannot connect to test database. Create it by running createdb gmtest before running this test. '. "Error: $@"; - plan tests => 37; + plan tests => 35; } note 'Setting up test database'; @@ -21,7 +21,7 @@ system 'psql', 'gmtest', '-qf', 'testdata.sql'; note 'Running update_status'; update_status; -my $x = user_list->{us}; +my $x = user_list; is @$x, 2, 'user_list has two elements'; 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'; is $x->[1]{admin}, 1, 'user_list second user is admin'; @@ -36,22 +36,22 @@ is_deeply $x->{contests}, [ {contest => 'fc', contest_name => 'Finished contest', rank => 2, score => 40}, ], 'user_entry contests'; -sub pbids { [map { $_->{id} } @{$x->{beginner}}] } +sub ids { [map { $_->{id} } @$x] } $x = problem_list; -cmp_bag pbids, [qw/arc fca/], 'problem_list'; +cmp_bag ids, [qw/arc fca/], 'problem_list'; $x = problem_list private => 1; -cmp_bag pbids, [qw/arc fca rca pca prv/], 'problem_list private => 1'; +cmp_bag ids, [qw/arc fca rca pca prv/], 'problem_list private => 1'; $x = problem_list contest => 'rc'; -cmp_bag pbids, [qw/rca/], q/problem_list contest => 'rc'/; +cmp_bag ids, [qw/rca/], q/problem_list contest => 'rc'/; $x = problem_list contest => 'rc', solution => 1; -ok exists $x->{beginner}[0]{solution}, q/problem_list contest => 'rc', solution => 1 has solution/; +ok exists $x->[0]{solution}, q/problem_list contest => 'rc', solution => 1 has solution/; $x = problem_list owner => 'nobody'; -cmp_bag pbids, [], q/problem_list owner => 'nobody'/; +cmp_bag ids, [], q/problem_list owner => 'nobody'/; $x = problem_entry 'arc'; cmp_bag $x->{limits}, [{format => 'C', timeout => 0.1}, {format => 'CPP', timeout => 0.1}], 'problem_entry limits'; @@ -62,9 +62,7 @@ ok !exists $x->{solution}, 'problem_entry during contest does not have solution' ok exists $x->{contest_start}, 'problem_entry during contest has contest_start '; $x = contest_list; -is $x->{finished}[0]{id}, 'fc', 'contest_list fc is finished'; -is $x->{running}[0]{id}, 'rc', 'contest_list rc is running'; -is $x->{pending}[0]{id}, 'pc', 'contest_list pc is pending'; +cmp_bag ids, [qw/pc rc fc/], 'contest_list'; $x = contest_entry 'fc'; 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'; @@ -75,29 +73,28 @@ ok exists $x->{editorial}, 'contest_full fc has editorial'; ok contest_has_problem('rc', 'rca'), 'contest rc has problem rca'; ok contest_has_problem('rc', 'arc'), 'contest rc does not have problem arc'; -sub jobids { [ map { $_->{id} } @{$x->{log}} ] } - -$x = job_list; -cmp_bag jobids, [1..5], 'job_list'; -is $x->{current_page}, 1, 'current page is 1'; -is $x->{last_page}, 1, 'last page is 1'; -ok !exists $x->{previous_page}, 'there is no previous page'; -ok !exists $x->{next_page}, 'there is no next page'; +my $pageinfo; +($x, $pageinfo) = job_list; +cmp_bag ids, [1..5], 'job_list'; +is $pageinfo->{current_page}, 1, 'current page is 1'; +is $pageinfo->{last_page}, 1, 'last page is 1'; +ok !exists $pageinfo->{previous_page}, 'there is no previous page'; +ok !exists $pageinfo->{next_page}, 'there is no next page'; $x = job_list private => 1; -cmp_bag jobids, [1..7], 'job_list private => 1'; +cmp_bag ids, [1..7], 'job_list private => 1'; $x = job_list contest => 'fc'; -cmp_bag jobids, [1..3], 'job_list contest => fc'; +cmp_bag ids, [1..3], 'job_list contest => fc'; $x = job_list owner => 'MGV'; -cmp_bag jobids, [1], 'job_ids owner => MGV'; +cmp_bag ids, [1], 'job_ids owner => MGV'; $x = job_list problem => 'fca'; -cmp_bag jobids, [1..4], 'job_ids problem => fca'; +cmp_bag ids, [1..4], 'job_ids problem => fca'; $x = job_list problem => 'fca', result => 1; -cmp_bag jobids, [2], 'job_ids problem => fca, result => 1'; +cmp_bag ids, [2], 'job_ids problem => fca, result => 1'; $x = job_entry 1; is $x->{size}, 21, 'job_entry size';