aboutsummaryrefslogtreecommitdiffstats
path: root/t/app
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2011-05-23 11:39:05 +0100
committerStruan Donald <struan@exo.org.uk>2011-05-23 11:39:05 +0100
commit9b12f95ffb23f7a1e45f47c0bf860ed348ddbf39 (patch)
tree8c4bcc807dc6fefc240facb2324ad6d8d068fa95 /t/app
parente58b6ceae179dcf576ba394209417c9e12fadb54 (diff)
Add a may show name publicly checkbox to updates form
Diffstat (limited to 't/app')
-rw-r--r--t/app/controller/report_updates.t116
1 files changed, 116 insertions, 0 deletions
diff --git a/t/app/controller/report_updates.t b/t/app/controller/report_updates.t
index 8c34541ed..ccbdfd9bf 100644
--- a/t/app/controller/report_updates.t
+++ b/t/app/controller/report_updates.t
@@ -277,29 +277,136 @@ subtest "submit an update for a non registered user" => sub {
for my $test (
{
desc => 'submit update for register user',
+ initial_values => {
+ name => 'Test User',
+ rznvy => 'test@example.com',
+ may_show_name => 1,
+ add_alert => 1,
+ photo => '',
+ update => '',
+ fixed => undef,
+ },
+ fields => {
+ submit_update => 1,
+ rznvy => 'test@example.com',
+ update => 'update from a registered user',
+ add_alert => 0,
+ fixed => 0,
+ },
+ changed => {
+ update => 'Update from a registered user'
+ },
+ initial_banner => '',
+ endstate_banner => '',
+ alert => 0,
+ anonymous => 0,
+ },
+ {
+ desc => 'submit update for register user anonymously by unchecking',
+ initial_values => {
+ name => 'Test User',
+ rznvy => 'test@example.com',
+ may_show_name => 1,
+ add_alert => 1,
+ photo => '',
+ update => '',
+ fixed => undef,
+ },
+ fields => {
+ submit_update => 1,
+ rznvy => 'test@example.com',
+ update => 'update from a registered user',
+ may_show_name => 0,
+ add_alert => 0,
+ fixed => 0,
+ },
+ changed => {
+ update => 'Update from a registered user'
+ },
+ initial_banner => '',
+ endstate_banner => '',
+ alert => 0,
+ anonymous => 1,
+ },
+ {
+ desc => 'submit update for register user anonymously by deleting name',
+ initial_values => {
+ name => 'Test User',
+ rznvy => 'test@example.com',
+ may_show_name => 1,
+ add_alert => 1,
+ photo => '',
+ update => '',
+ fixed => undef,
+ },
fields => {
submit_update => 1,
+ name => '',
rznvy => 'test@example.com',
update => 'update from a registered user',
+ may_show_name => 1,
add_alert => 0,
+ fixed => 0,
},
changed => {
update => 'Update from a registered user'
},
+ initial_banner => '',
+ endstate_banner => '',
alert => 0,
+ anonymous => 1,
},
{
desc => 'submit update for register user and sign up',
+ initial_values => {
+ name => 'Test User',
+ rznvy => 'test@example.com',
+ may_show_name => 1,
+ add_alert => 1,
+ photo => '',
+ update => '',
+ fixed => undef,
+ },
fields => {
submit_update => 1,
rznvy => 'test@example.com',
update => 'update from a registered user',
add_alert => 1,
+ fixed => 0,
},
changed => {
update => 'Update from a registered user'
},
+ initial_banner => '',
+ endstate_banner => '',
alert => 1,
+ anonymous => 0,
+ },
+ {
+ desc => 'submit update for register user and mark fixed',
+ initial_values => {
+ name => 'Test User',
+ rznvy => 'test@example.com',
+ may_show_name => 1,
+ add_alert => 1,
+ photo => '',
+ update => '',
+ fixed => undef,
+ },
+ fields => {
+ submit_update => 1,
+ rznvy => 'test@example.com',
+ update => 'update from a registered user',
+ add_alert => 0,
+ fixed => 1,
+ },
+ changed => {
+ update => 'Update from a registered user'
+ },
+ initial_banner => '',
+ endstate_banner => ' This problem has been fixed. ',
+ alert => 1, # we signed up for alerts before, do not unsign us
+ anonymous => 0,
},
) {
subtest $test->{desc} => sub {
@@ -313,6 +420,12 @@ for my $test (
$mech->log_in_ok( $user->email );
$mech->get_ok("/report/$report_id");
+ my $values = $mech->visible_form_values( 'updateForm' );
+
+ is_deeply $values, $test->{initial_values}, 'initial form values';
+
+ is $mech->extract_problem_banner->{text}, $test->{initial_banner}, 'initial banner';
+
$mech->submit_form_ok(
{
with_fields => $test->{fields},
@@ -322,6 +435,8 @@ for my $test (
is $mech->uri->path, "/report/" . $report_id, "redirected to report page";
+ is $mech->extract_problem_banner->{text}, $test->{endstate_banner}, 'submitted banner';
+
$mech->email_count_is(0);
my $results = {
@@ -334,6 +449,7 @@ for my $test (
is $update->text, $results->{update}, 'update text';
is $update->user->email, 'test@example.com', 'update user';
is $update->state, 'confirmed', 'update confirmed';
+ is $update->anonymous, $test->{anonymous}, 'user anonymous';
my $alert =
FixMyStreet::App->model('DB::Alert')