diff options
author | Struan Donald <struan@exo.org.uk> | 2012-10-04 13:43:49 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2012-10-04 13:43:49 +0100 |
commit | 42e455a374b629185036cc2227e8273547d324f1 (patch) | |
tree | 703b3de7d4a520161f734a35684abec9a4bbf7be /t/open311 | |
parent | f716ba282936ad04c46322c273b123af5e957d38 (diff) |
simplfy state change code and also correct bugs
Diffstat (limited to 't/open311')
-rw-r--r-- | t/open311/getservicerequestupdates.t | 62 |
1 files changed, 56 insertions, 6 deletions
diff --git a/t/open311/getservicerequestupdates.t b/t/open311/getservicerequestupdates.t index 7930c66a2..680ea930c 100644 --- a/t/open311/getservicerequestupdates.t +++ b/t/open311/getservicerequestupdates.t @@ -105,7 +105,7 @@ $problem->insert; for my $test ( { - desc => 'element with content', + desc => 'OPEN status for confirmed problem does not change state', updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), description => 'This is a note', external_id => 638344, @@ -117,6 +117,19 @@ for my $test ( end_state => 'confirmed', }, { + desc => 'bad state does not update states but does create update', + updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), + description => 'This is a note', + external_id => 638344, + start_state => 'confirmed', + comment_status => 'INVALID_STATE', + mark_fixed=> 0, + mark_open => 0, + problem_state => undef, + end_state => 'confirmed', + }, + + { desc => 'investigating status changes problem status', updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), description => 'This is a note', @@ -177,7 +190,7 @@ for my $test ( end_state => 'duplicate', }, { - desc => 'fixed status changes problem status', + desc => 'fixed status marks report as fixed - council', updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), description => 'This is a note', external_id => 638344, @@ -189,7 +202,7 @@ for my $test ( end_state => 'fixed - council', }, { - desc => 'comment closes report', + desc => 'status of CLOSED marks report as fixed - council', updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), description => 'This is a note', external_id => 638344, @@ -201,7 +214,7 @@ for my $test ( end_state => 'fixed - council', }, { - desc => 'comment re-opens fixed report', + desc => 'status of OPEN re-opens fixed report', updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), description => 'This is a note', external_id => 638344, @@ -213,7 +226,19 @@ for my $test ( end_state => 'confirmed', }, { - desc => 'comment re-opens closed report', + desc => 'action sheduled re-opens fixed report as action scheduled', + updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), + description => 'This is a note', + external_id => 638344, + start_state => 'fixed - user', + comment_status => 'ACTION_SCHEDULED', + mark_fixed => 0, + mark_open => 0, + problem_state => 'action scheduled', + end_state => 'action scheduled', + }, + { + desc => 'open status re-opens closed report', updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), description => 'This is a note', external_id => 638344, @@ -225,7 +250,7 @@ for my $test ( end_state => 'confirmed', }, { - desc => 'comment leaves report closed', + desc => 'fixed status leaves fixed - user report as fixed - user', updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), description => 'This is a note', external_id => 638344, @@ -233,8 +258,33 @@ for my $test ( comment_status => 'FIXED', mark_fixed => 0, mark_open => 0, + problem_state => undef, + end_state => 'fixed - user', + }, + { + desc => 'closed status leaves fixed report as fixed', + updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), + description => 'This is a note', + external_id => 638344, + start_state => 'fixed - user', + comment_status => 'UNABLE_TO_FIX', + mark_fixed => 0, + mark_open => 0, + problem_state => undef, end_state => 'fixed - user', }, + { + desc => 'fixed status sets closed report as fixed', + updated_datetime => sprintf( '<updated_datetime>%s</updated_datetime>', $dt ), + description => 'This is a note', + external_id => 638344, + start_state => 'unable to fix', + comment_status => 'FIXED', + mark_fixed => 0, + mark_open => 0, + problem_state => 'fixed - council', + end_state => 'fixed - council', + }, ) { subtest $test->{desc} => sub { my $local_requests_xml = $requests_xml; |