@@ -55,9 +55,9 @@ my @job_params = (
5555sub prepare_database {
5656 my $bugs = $schema -> resultset(' Bugs' );
5757 my %bug_args = (refreshed => 1, existing => 1);
58- my $bug1 = $bugs -> create({bugid => ' poo#1' , title => ' open poo bug' , open => 1, %bug_args });
59- my $bug2 = $bugs -> create({bugid => ' poo#2' , title => ' closed poo bug' , open => 0, %bug_args });
60- my $bug4 = $bugs -> create({bugid => ' bsc#4' , title => ' closed bugzilla bug' , open => 0, %bug_args });
58+ $bugs -> create({bugid => ' poo#1' , title => ' open poo bug' , open => 1, %bug_args });
59+ $bugs -> create({bugid => ' poo#2' , title => ' closed poo bug' , open => 0, %bug_args });
60+ $bugs -> create({bugid => ' bsc#4' , title => ' closed bugzilla bug' , open => 0, %bug_args });
6161
6262 my $jobs = $schema -> resultset(' Jobs' );
6363 $jobs -> find(99981)-> delete ;
@@ -164,6 +164,32 @@ subtest 'running jobs, progress bars' => sub {
164164 $time -> text_like(qr /\d + minutes ago/ , ' right time for running' );
165165};
166166
167+ subtest ' comments and bugrefs displayed for finished jobs' => sub {
168+ is $driver -> find_element(' #job_99946 .fa-comment' )-> get_attribute(' title' ),
169+ ' 2 comments available' , ' available comments shown for finished jobs' ;
170+ is @{$driver -> find_elements(' #job_99962 .fa-comment' )},
171+ 0, ' available comments only shown if at least one comment available' ;
172+ is $driver -> find_element(' #job_99936 .fa-bolt' )-> get_attribute(' title' ),
173+ " Bug referenced: poo#1\n open poo bug" , ' available bugref (poo#1) shown for finished jobs' ;
174+ is $driver -> find_element(' #job_99936 .fa-bug' )-> get_attribute(' title' ),
175+ ' Bug referenced: bsc#3' , ' available bugref (bsc#3) shown for finished jobs' ;
176+ my @closed = $driver -> find_elements(' #job_99936 .bug_closed' );
177+ is $closed [1]-> get_attribute(' title' ),
178+ " Bug referenced: poo#2\n closed poo bug" , ' available bugref (poo#2) shown for finished jobs' ;
179+ is $closed [0]-> get_attribute(' title' ),
180+ " Bug referenced: bsc#4\n closed bugzilla bug" , ' available bugref (bsc#4) shown for finished jobs' ;
181+ is_deeply [$driver -> find_elements(' #job_99963 .fa-comment' )],
182+ [], ' available comments not shown for running jobs (for performance reasons)' ;
183+ is_deeply [$driver -> find_elements(' #job_99928 .fa-comment' )],
184+ [], ' available comments not shown for scheduled jobs (for performance reasons)' ;
185+ };
186+
187+ subtest ' priority displayed when not logged in' => sub {
188+ is $driver -> find_element(' #job_99928 td + td + td' )-> get_text(), ' 46' , ' priority displayed' ;
189+ my @prio_links = $driver -> find_elements(' #job_99928 td + td + td a' );
190+ is_deeply \@prio_links , [], ' no links to increase/decrease prio' ;
191+ };
192+
167193my @header = $driver -> find_elements(' h2' );
168194my @header_texts = map { OpenQA::Test::Case::trim_whitespace($_ -> get_text()) } @header ;
169195my @expected = (' 3 jobs are running (limited by server config)' , ' 3 scheduled jobs' , ' Last 11 finished jobs' );
@@ -233,37 +259,6 @@ subtest 'scheduled jobs server-side limit has precedence over user-specified lim
233259 $schema -> txn_rollback;
234260};
235261
236- subtest ' available comments shown' => sub {
237- $driver -> get(' /tests' );
238- wait_for_ajax(msg => ' DataTables on "All tests" page for comments' );
239-
240- is
241- $driver -> find_element(' #job_99946 .fa-comment' )-> get_attribute(' title' ),
242- ' 2 comments available' ,
243- ' available comments shown for finished jobs' ;
244- is @{$driver -> find_elements(' #job_99962 .fa-comment' )},
245- 0, ' available comments only shown if at least one comment available' ;
246- is
247- $driver -> find_element(' #job_99936 .fa-bolt' )-> get_attribute(' title' ),
248- " Bug referenced: poo#1\n open poo bug" ,
249- ' available bugref (poo#1) shown for finished jobs' ;
250- is
251- $driver -> find_element(' #job_99936 .fa-bug' )-> get_attribute(' title' ),
252- ' Bug referenced: bsc#3' ,
253- ' available bugref (bsc#3) shown for finished jobs' ;
254- my @closed = $driver -> find_elements(' #job_99936 .bug_closed' );
255- is $closed [1]-> get_attribute(' title' ),
256- " Bug referenced: poo#2\n closed poo bug" ,
257- ' available bugref (poo#2) shown for finished jobs' ;
258- is $closed [0]-> get_attribute(' title' ),
259- " Bug referenced: bsc#4\n closed bugzilla bug" ,
260- ' available bugref (bsc#4) shown for finished jobs' ;
261- is_deeply [$driver -> find_elements(' #job_99963 .fa-comment' )],
262- [], ' available comments not shown for running jobs (for performance reasons)' ;
263- is_deeply [$driver -> find_elements(' #job_99928 .fa-comment' )],
264- [], ' available comments not shown for scheduled jobs (for performance reasons)' ;
265- };
266-
267262$driver -> find_element_by_link_text(' Build0091' )-> click();
268263like
269264 $driver -> find_element_by_id(' summary' )-> get_text(),
@@ -305,15 +300,8 @@ is @links, 3, 'only three links (icon, name and comments but no restart)';
305300# Test 99926 is displayed
306301is $driver -> find_element(' #results #job_99926 .test .status.result_incomplete' )-> get_text(), ' ' , ' 99926 incomplete' ;
307302
308- subtest ' priority of scheduled jobs' => sub {
309- # displayed when not logged in
310- is $driver -> find_element(' #job_99928 td + td + td' )-> get_text(), ' 46' , ' priority displayed' ;
311- my @prio_links = $driver -> find_elements(' #job_99928 td + td + td a' );
312- is_deeply \@prio_links , [], ' no links to increase/decrease prio' ;
313-
314- # displayed and adjustable when logged in as admin
303+ subtest ' priority adjustment when logged in' => sub {
315304 $driver -> find_element_by_link_text(' Login' )-> click();
316- $driver -> get(' /tests' );
317305 wait_for_ajax;
318306 is $driver -> find_element(' #job_99928 .prio-value' )-> get_text(), ' 46' , ' priority displayed' ;
319307 $driver -> find_element(' #job_99928 .prio-down' )-> click();
@@ -447,10 +435,10 @@ subtest 'result filter does not affect scheduled and running jobs' => sub {
447435subtest ' match parameter' => sub {
448436 $driver -> get(' /tests?match=staging_e' );
449437 wait_for_ajax msg => ' "All tests" with match parameter' ;
450- @jobs = map { $_ -> get_attribute(' id' ) } @{$driver -> find_elements(' tbody tr' , ' css' )};
451- ok !$jobs [0], ' no running job matching' ;
452- ok !$jobs [1], ' no scheduled job matching' ;
453- is $jobs [2], ' job_99926' , ' exactly one finished job matching' ;
438+ my @match_jobs = map { $_ -> get_attribute(' id' ) } @{$driver -> find_elements(' tbody tr' , ' css' )};
439+ ok !$match_jobs [0], ' no running job matching' ;
440+ ok !$match_jobs [1], ' no scheduled job matching' ;
441+ is $match_jobs [2], ' job_99926' , ' exactly one finished job matching' ;
454442};
455443
456444subtest ' comment parameter' => sub {
@@ -468,9 +456,7 @@ is scalar @cancel_links, 0, 'no cancel link when not logged in';
468456
469457# now login to test restart links
470458$driver -> find_element_by_link_text(' Login' )-> click();
471- is $driver -> get(' /tests' ), 1, ' back on /tests' ;
472459wait_for_ajax();
473-
474460@cancel_links = $driver -> find_elements(' #job_99928 a.cancel' );
475461is scalar @cancel_links , 1, ' cancel link displayed when logged in' ;
476462
@@ -484,7 +470,7 @@ $driver->title_is('openQA: Test results', 'restart stays on page');
484470$td = $driver -> find_element(' #job_99946 td.test' );
485471is $td -> get_text(), ' textmode@32bit (restarted)' , ' restart removes link' ;
486472
487- subtest ' check test results of job99940 ' => sub {
473+ subtest ' job 99940 module results and job 99991 description ' => sub {
488474 $driver -> get(' /tests' );
489475 wait_for_ajax;
490476 my $results = $driver -> find_elements(' #job_99940 > td' )-> [2];
@@ -495,18 +481,13 @@ subtest 'check test results of job99940' => sub {
495481 for my $class (qw( module_passed module_failed module_softfailed module_none module_skipped) ) {
496482 is scalar (@{$driver -> find_child_elements($results , ' i.' . $class )}), 1, " $class displayed" ;
497483 }
498- };
499484
500- subtest ' test name and description still show up correctly using JOB_TEMPLATE_NAME' => sub {
501- $driver -> get(' /tests' );
502- wait_for_ajax(msg => ' wait for all tests displayed before looking for 99991' );
503485 is $driver -> find_element(' #job_99991 td.test' )-> get_text(),
504486 ' kde_variant@64bit' , ' job 99991 displays TEST correctly' ;
505487
506488 $driver -> get(' /tests/99991#settings' );
507489 wait_for_ajax;
508- is
509- $driver -> find_element(' #scenario-description' )-> get_text(),
490+ is $driver -> find_element(' #scenario-description' )-> get_text(),
510491 ' Simple kde test, before advanced_kde' ,
511492 ' job 99991 description displays correctly' ;
512493};
0 commit comments