aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2016-08-24 11:59:34 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2016-08-24 12:00:24 +0100
commit669fd23dbb7870fe20284f3e029a1fe6da09625b (patch)
tree7ae59fb51ccee9cd75407fa63c16123548f05dcf
parenteaa2480195d27ff3f1efd325b149da0668c63708 (diff)
Pass back Open311 request through send_reports for tests.
-rw-r--r--perllib/FixMyStreet/DB/ResultSet/Problem.pm2
-rw-r--r--perllib/FixMyStreet/Script/Reports.pm21
-rw-r--r--perllib/FixMyStreet/SendReport/Open311.pm7
3 files changed, 20 insertions, 10 deletions
diff --git a/perllib/FixMyStreet/DB/ResultSet/Problem.pm b/perllib/FixMyStreet/DB/ResultSet/Problem.pm
index 488030928..9ce7da1c0 100644
--- a/perllib/FixMyStreet/DB/ResultSet/Problem.pm
+++ b/perllib/FixMyStreet/DB/ResultSet/Problem.pm
@@ -235,7 +235,7 @@ sub categories_summary {
sub send_reports {
my ( $rs, $site_override ) = @_;
require FixMyStreet::Script::Reports;
- FixMyStreet::Script::Reports::send($site_override);
+ return FixMyStreet::Script::Reports::send($site_override);
}
1;
diff --git a/perllib/FixMyStreet/Script/Reports.pm b/perllib/FixMyStreet/Script/Reports.pm
index 311d8fec4..a51923456 100644
--- a/perllib/FixMyStreet/Script/Reports.pm
+++ b/perllib/FixMyStreet/Script/Reports.pm
@@ -23,6 +23,7 @@ sub send(;$) {
# Set up site, language etc.
my ($verbose, $nomail, $debug_mode) = CronFns::options();
+ my $test_data;
my $base_url = FixMyStreet->config('BASE_URL');
my $site = $site_override || CronFns::site($base_url);
@@ -205,18 +206,18 @@ sub send(;$) {
for my $sender ( keys %reporters ) {
debug_print("sending using " . $sender, $row->id) if $debug_mode;
- $result *= $reporters{ $sender }->send( $row, \%h );
- if ( $reporters{ $sender }->unconfirmed_counts) {
- foreach my $e (keys %{ $reporters{ $sender }->unconfirmed_counts } ) {
- foreach my $c (keys %{ $reporters{ $sender }->unconfirmed_counts->{$e} }) {
- $notgot{$e}{$c} += $reporters{ $sender }->unconfirmed_counts->{$e}{$c};
+ $sender = $reporters{$sender};
+ $result *= $sender->send( $row, \%h );
+ if ( $sender->unconfirmed_counts) {
+ foreach my $e (keys %{ $sender->unconfirmed_counts } ) {
+ foreach my $c (keys %{ $sender->unconfirmed_counts->{$e} }) {
+ $notgot{$e}{$c} += $sender->unconfirmed_counts->{$e}{$c};
}
}
- %note = (
- %note,
- %{ $reporters{ $sender }->unconfirmed_notes }
- );
+ %note = (%note, %{ $sender->unconfirmed_notes });
}
+ $test_data->{test_req_used} = $sender->open311_test_req_used
+ if FixMyStreet->test_mode && $sender->can('open311_test_req_used');
}
unless ($result) {
@@ -272,6 +273,8 @@ sub send(;$) {
print "The following reports had problems sending:\n$sending_errors";
}
}
+
+ return $test_data;
}
sub _send_report_sent_email {
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm
index bf5ed3e30..9dfd3e0ea 100644
--- a/perllib/FixMyStreet/SendReport/Open311.pm
+++ b/perllib/FixMyStreet/SendReport/Open311.pm
@@ -13,6 +13,10 @@ Readonly::Scalar my $COUNCIL_ID_OXFORDSHIRE => 2237;
Readonly::Scalar my $COUNCIL_ID_WARWICKSHIRE => 2243;
Readonly::Scalar my $COUNCIL_ID_GREENWICH => 2493;
+has open311_test_req_used => (
+ is => 'rw',
+);
+
sub send {
my $self = shift;
my ( $row, $h ) = @_;
@@ -133,6 +137,9 @@ sub send {
}
my $resp = $open311->send_service_request( $row, $h, $contact->email );
+ if (FixMyStreet->test_mode) {
+ $self->open311_test_req_used($open311->test_req_used);
+ }
# make sure we don't save user changes from above
$row->discard_changes() if $revert;