diff options
author | Struan Donald <struan@exo.org.uk> | 2012-09-03 15:56:49 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2012-09-03 15:56:49 +0100 |
commit | bef1a31660bd3fccdda72cf2ca670c207a7a54c2 (patch) | |
tree | d204ad488d25e767683d195ba60e1175102f5eba /perllib/FixMyStreet/TestMech.pm | |
parent | 5cd05ec4aba592894fd15c0351227fb93df147ea (diff) |
do not display non public reports in reports list for a council
do include non public reports in council stats
Diffstat (limited to 'perllib/FixMyStreet/TestMech.pm')
-rw-r--r-- | perllib/FixMyStreet/TestMech.pm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/TestMech.pm b/perllib/FixMyStreet/TestMech.pm index 2a49cc2f8..53ec7ad89 100644 --- a/perllib/FixMyStreet/TestMech.pm +++ b/perllib/FixMyStreet/TestMech.pm @@ -378,6 +378,49 @@ sub extract_update_metas { return \@metas; } +=head2 extract_problem_list + + $problems = $mech->extract_problem_list + +Returns an array ref of all problem titles on a page featuring standard issue lists + +=cut + +sub extract_problem_list { + my $mech = shift; + + my $result = scraper { + process 'ul.issue-list-a li a h4', 'problems[]', 'TEXT'; + }->scrape( $mech->response ); + + return $result->{ problems } || []; +} + +=head2 extract_report_stats + + $stats = $mech->extract_report_stats + +Returns a hash ref keyed by council name of all the council stats from the all reports +page. Each value is an array ref with the first element being the council name and the +rest being the stats in the order the appear in each row. + +=cut + +sub extract_report_stats { + my $mech = shift; + + my $result = scraper { + process 'tr[align=center]', 'councils[]' => scraper { + process 'td.title a', 'council', 'TEXT', + process 'td', 'stats[]', 'TEXT' + } + }->scrape( $mech->response ); + + my %councils = map { $_->{council} => $_->{stats} } @{ $result->{councils} }; + + return \%councils; +} + =head2 visible_form_values $hashref = $mech->visible_form_values( ); |