diff options
author | Hakim Cassimally <hakim@mysociety.org> | 2015-02-02 15:33:42 +0000 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2015-10-06 09:09:24 +0100 |
commit | 657177eba893c29d6d3f9e4b9f4f24ede5b78bc4 (patch) | |
tree | d26ebbf2474beb467c8f9eff591ab71628de6464 /t | |
parent | 735536dc5e269f2094d122e49f2c648928db4acb (diff) |
Add "time spent" admin logging.
Mechanism is general, but current implementation only used
for Zurich.
- Zurich: Record time_spent field mysociety/FixMyStreet-Commercial#676
- template changes (including jQuery spinner)
- backend changes to save data are made:
- in log_edit, if supplied
- and time on category change (and arbitrary actions)
- Add update_admin_log to all paths for DM, ensuring that it gets called,
while resetting the `time_spent` parameter, to make sure that
there is never a duplicate record created.
- Also quell warning about using DateTime values in query.
- Also add (seemingly unrelated) parens to stop misparsing of OK line in
questionnaire test now that DT::Format::Pg is used in Zurich cobrand
See mysociety/FixMyStreet-Commercial#676
Diffstat (limited to 't')
-rw-r--r-- | t/app/controller/questionnaire.t | 2 | ||||
-rw-r--r-- | t/cobrand/zurich.t | 22 |
2 files changed, 21 insertions, 3 deletions
diff --git a/t/app/controller/questionnaire.t b/t/app/controller/questionnaire.t index d4fc9c74b..2a89454d5 100644 --- a/t/app/controller/questionnaire.t +++ b/t/app/controller/questionnaire.t @@ -276,7 +276,7 @@ foreach my $test ( $questionnaire->discard_changes; is $report->state, $result eq 'unknown' ? $test->{problem_state} : $result; is $report->send_questionnaire, $another; - ok DateTime::Format::Pg->format_datetime( $report->lastupdate) gt $report_time, 'lastupdate changed' + ok (DateTime::Format::Pg->format_datetime( $report->lastupdate) gt $report_time, 'lastupdate changed') unless $test->{fields}{been_fixed} eq 'Unknown' || $test->{lastupdate_static}; is $questionnaire->old_state, $test->{problem_state}; is $questionnaire->new_state, $result; diff --git a/t/cobrand/zurich.t b/t/cobrand/zurich.t index 02f502d31..5dbbc3bbe 100644 --- a/t/cobrand/zurich.t +++ b/t/cobrand/zurich.t @@ -705,8 +705,6 @@ subtest "test stats" => sub { $mech->content_contains('fixed - council'); $mech->content_contains(',hidden,'); } - - $mech->log_out_ok; }; }; @@ -764,6 +762,26 @@ subtest 'email images to external partners' => sub { }; }; +subtest 'time_spent' => sub { + FixMyStreet::override_config { + ALLOWED_COBRANDS => [ 'zurich' ], + }, sub { + my $report = $reports[0]; + + is $report->get_time_spent, 0, '0 minutes spent'; + $report->update({ state => 'in progress' }); + $mech->get_ok( '/admin/report_edit/' . $report->id ); + $mech->form_with_fields( 'time_spent' ); + $mech->submit_form_ok( { + with_fields => { + time_spent => 10, + } }); + is $report->get_time_spent, 10, '10 minutes spent'; + }; +}; + +$mech->log_out_ok; + END { $mech->delete_body($subdivision); $mech->delete_body($division); |