From 7b2fb6cd9934fae59d89cfeabf5260a54713c26f Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Wed, 15 Jun 2011 16:53:28 +0100 Subject: update report display to handle new statuses --- t/app/controller/report_display.t | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index 1f857a387..746f68cf6 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -119,6 +119,55 @@ subtest "test a good report" => sub { is $update_form->value($_), $fields{$_}, "$_ value" for keys %fields; }; +for my $test ( + { + state => 'confirmed', + display => 1, + }, + { + state => 'investigating', + display => 1, + }, + { + state => 'planned', + display => 1, + }, + { + state => 'in progress', + display => 1, + }, + { + state => 'fixed', + display => 0, + }, + { + state => 'fixed - council', + display => 0, + }, + { + state => 'fixed - user', + display => 0, + }, + { + state => 'will not fix', + display => 0, + }, +) { + subtest "check fixed checkbox display for state $test->{state}" => sub { + $report->state( $test->{state} ); + $report->update; + $mech->get_ok("/report/$report_id"); + + my $update_form = $mech->form_name('updateForm'); + + if ( $test->{display} ) { + ok defined $update_form->find_input('#form_fixed', 'checkbox'), "fixed checkbox display"; + } else { + is $update_form->find_input('#form_fixed', 'checkbox'), undef, "fixed checkbox display"; + } + }; +} + foreach my $meta ( { anonymous => 'f', -- cgit v1.2.3 From c9773705e4c611363474144f69182ad421187242 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Thu, 16 Jun 2011 12:17:35 +0100 Subject: handle new states in report display and updating --- t/app/controller/report_display.t | 73 +++++++++++++-------------------------- 1 file changed, 24 insertions(+), 49 deletions(-) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index 746f68cf6..d20774560 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -119,55 +119,6 @@ subtest "test a good report" => sub { is $update_form->value($_), $fields{$_}, "$_ value" for keys %fields; }; -for my $test ( - { - state => 'confirmed', - display => 1, - }, - { - state => 'investigating', - display => 1, - }, - { - state => 'planned', - display => 1, - }, - { - state => 'in progress', - display => 1, - }, - { - state => 'fixed', - display => 0, - }, - { - state => 'fixed - council', - display => 0, - }, - { - state => 'fixed - user', - display => 0, - }, - { - state => 'will not fix', - display => 0, - }, -) { - subtest "check fixed checkbox display for state $test->{state}" => sub { - $report->state( $test->{state} ); - $report->update; - $mech->get_ok("/report/$report_id"); - - my $update_form = $mech->form_name('updateForm'); - - if ( $test->{display} ) { - ok defined $update_form->find_input('#form_fixed', 'checkbox'), "fixed checkbox display"; - } else { - is $update_form->find_input('#form_fixed', 'checkbox'), undef, "fixed checkbox display"; - } - }; -} - foreach my $meta ( { anonymous => 'f', @@ -284,6 +235,30 @@ for my $test ( banner_text => 'This problem has been fixed.', fixed => 1 }, + { + description => 'user fixed report', + date => DateTime->now, + state => 'fixed - user', + banner_id => 'fixed', + banner_text => 'This problem has been fixed.', + fixed => 1 + }, + { + description => 'council fixed report', + date => DateTime->now, + state => 'fixed - council', + banner_id => 'fixed', + banner_text => 'This problem has been fixed.', + fixed => 1 + }, + { + description => 'closed report', + date => DateTime->now, + state => 'will not fix', + banner_id => '', + banner_text => '', + fixed => 0 + }, ) { subtest "banner for $test->{description}" => sub { $report->confirmed( $test->{date}->ymd . ' ' . $test->{date}->hms ); -- cgit v1.2.3 From 4d40d4632325a999b66dee1db36841dfeb60bcda Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Thu, 16 Jun 2011 12:40:39 +0100 Subject: rename will not fix to closed --- t/app/controller/report_display.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index d20774560..5c66200c8 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -254,7 +254,7 @@ for my $test ( { description => 'closed report', date => DateTime->now, - state => 'will not fix', + state => 'closed', banner_id => '', banner_text => '', fixed => 0 -- cgit v1.2.3 From 1002c330d3895887cfdb410e9e51dcc0e182473b Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Thu, 23 Jun 2011 11:28:08 +0100 Subject: display state dropdown on updates to authority users --- t/app/controller/report_display.t | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index 5c66200c8..49b524b44 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -255,8 +255,8 @@ for my $test ( description => 'closed report', date => DateTime->now, state => 'closed', - banner_id => '', - banner_text => '', + banner_id => 'closed', + banner_text => 'This problem has been closed.', fixed => 0 }, ) { @@ -284,6 +284,31 @@ for my $test ( }; } +for my $test ( + { + desc => 'no state dropdown if user not from authority', + from_authority => 0, + }, + { + desc => 'state dropdown if user from authority', + from_authority => 1, + }, +) { + subtest $test->{desc} => sub { + $mech->log_in_ok( $user->email ); + $user->from_authority( $test->{from_authority} ); + $user->update; + + $mech->get_ok("/report/$report_id"); + my $fields = $mech->visible_form_values( 'updateForm' ); + if ( $test->{from_authority} ) { + ok $fields->{state}; + } else { + ok !$fields->{state}; + } + }; +} + # tidy up $mech->delete_user('test@example.com'); done_testing(); -- cgit v1.2.3 From 46848a1dd7a7e33cb8953df334f434d0450b5651 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Thu, 23 Jun 2011 16:07:43 +0100 Subject: in progress banner --- t/app/controller/report_display.t | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index 49b524b44..fc844e31c 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -259,6 +259,30 @@ for my $test ( banner_text => 'This problem has been closed.', fixed => 0 }, + { + description => 'investigating report', + date => DateTime->now, + state => 'investigating', + banner_id => 'progress', + banner_text => 'This problem is in progress.', + fixed => 0 + }, + { + description => 'planned report', + date => DateTime->now, + state => 'planned', + banner_id => 'progress', + banner_text => 'This problem is in progress.', + fixed => 0 + }, + { + description => 'in progressreport', + date => DateTime->now, + state => 'in progress', + banner_id => 'progress', + banner_text => 'This problem is in progress.', + fixed => 0 + }, ) { subtest "banner for $test->{description}" => sub { $report->confirmed( $test->{date}->ymd . ' ' . $test->{date}->hms ); -- cgit v1.2.3 From a20fc533b0f10646814742f1348c5f9141217efa Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Mon, 27 Jun 2011 11:03:57 +0100 Subject: change to use from_council in users table and store the council id in there so we can check that the problem is for the council the user is from --- t/app/controller/report_display.t | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index fc844e31c..23b76fbc4 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -311,24 +311,31 @@ for my $test ( for my $test ( { desc => 'no state dropdown if user not from authority', - from_authority => 0, + from_council => 0, + no_state => 1, }, { desc => 'state dropdown if user from authority', - from_authority => 1, + from_council => 2504, + no_state => 0, + }, + { + desc => 'no state dropdown if user not from same council as problem', + from_council => 2505, + no_state => 1, }, ) { subtest $test->{desc} => sub { $mech->log_in_ok( $user->email ); - $user->from_authority( $test->{from_authority} ); + $user->from_council( $test->{from_council} ); $user->update; $mech->get_ok("/report/$report_id"); my $fields = $mech->visible_form_values( 'updateForm' ); - if ( $test->{from_authority} ) { - ok $fields->{state}; - } else { + if ( $test->{no_state} ) { ok !$fields->{state}; + } else { + ok $fields->{state}; } }; } -- cgit v1.2.3 From e1801441beb37f37857c925a3c8c889653da4fe9 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Wed, 27 Jul 2011 13:54:46 +0100 Subject: allow council user to update state on problem sent to multiple councils --- t/app/controller/report_display.t | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index 23b76fbc4..a70d5b9e9 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -313,16 +313,25 @@ for my $test ( desc => 'no state dropdown if user not from authority', from_council => 0, no_state => 1, + report_council => '2504', }, { desc => 'state dropdown if user from authority', from_council => 2504, no_state => 0, + report_council => '2504', }, { desc => 'no state dropdown if user not from same council as problem', from_council => 2505, no_state => 1, + report_council => '2504', + }, + { + desc => 'state dropdown if user from authority and problem sent to multiple councils', + from_council => 2504, + no_state => 0, + report_council => '2504,2506', }, ) { subtest $test->{desc} => sub { @@ -330,6 +339,10 @@ for my $test ( $user->from_council( $test->{from_council} ); $user->update; + $report->discard_changes; + $report->council( $test->{report_council} ); + $report->update; + $mech->get_ok("/report/$report_id"); my $fields = $mech->visible_form_values( 'updateForm' ); if ( $test->{no_state} ) { @@ -340,6 +353,10 @@ for my $test ( }; } +$report->discard_changes; +$report->council( 2504 ); +$report->update; + # tidy up $mech->delete_user('test@example.com'); done_testing(); -- cgit v1.2.3 From b2f1646d91c334bbb082db758a75a0fbc120b25d Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Wed, 27 Jul 2011 17:15:07 +0100 Subject: use the correct council separator character --- t/app/controller/report_display.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index a70d5b9e9..93f3f0f65 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -331,7 +331,7 @@ for my $test ( desc => 'state dropdown if user from authority and problem sent to multiple councils', from_council => 2504, no_state => 0, - report_council => '2504,2506', + report_council => '2504|2506', }, ) { subtest $test->{desc} => sub { -- cgit v1.2.3 From 61e6d5928be1bedb68607f8fa36f0d971711a3f8 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Fri, 19 Aug 2011 00:06:45 +0100 Subject: correct council list delimiter --- t/app/controller/report_display.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 't/app/controller/report_display.t') diff --git a/t/app/controller/report_display.t b/t/app/controller/report_display.t index 93f3f0f65..a70d5b9e9 100644 --- a/t/app/controller/report_display.t +++ b/t/app/controller/report_display.t @@ -331,7 +331,7 @@ for my $test ( desc => 'state dropdown if user from authority and problem sent to multiple councils', from_council => 2504, no_state => 0, - report_council => '2504|2506', + report_council => '2504,2506', }, ) { subtest $test->{desc} => sub { -- cgit v1.2.3