From 6aece0d14bf772aff62152e2572326be964bf161 Mon Sep 17 00:00:00 2001 From: Struan Donald Date: Fri, 18 Sep 2020 16:54:56 +0100 Subject: fix using multiple disable messages on category questions Provide a stopper per disable message, rather than per question. Previously there was one stopper per dropdown so only the last message encountered was used. --- t/app/controller/report_new_open311.t | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 't/app/controller/report_new_open311.t') diff --git a/t/app/controller/report_new_open311.t b/t/app/controller/report_new_open311.t index 08435fb2b..7cd6dca09 100644 --- a/t/app/controller/report_new_open311.t +++ b/t/app/controller/report_new_open311.t @@ -394,6 +394,14 @@ subtest "Category extras includes form disabling string" => sub { $contact4->push_extra_fields({ datatype_description => 'Please please ring', description => 'Is it dangerous?', code => 'dangerous', variable => 'true', order => '0', values => [ { name => 'Yes', key => 'yes', disable => 1 }, { name => 'No', key => 'no' } ] }); + $contact4->push_extra_fields({ datatype_description => 'Please ring different numbers', description => 'What sort of dangerous?', code => 'danger_type', + variable => 'true', order => '0', values => [ + { name => 'slightly', key => 'slightly', disable => 1, disable_message => 'Ring the slightly number' }, + { name => 'very', key => 'very', disable => 1, disable_message => 'Ring the very number' }, + { name => 'extremely', key => 'extremely', disable => 1, disable_message => 'Ring the very number' }, + { name => 'No', key => 'no' } + ] + }); $contact4->update; for ( { url => '/report/new/ajax?' }, @@ -401,6 +409,7 @@ subtest "Category extras includes form disabling string" => sub { ) { my $json = $mech->get_ok_json($_->{url} . '&latitude=55.952055&longitude=-3.189579'); my $output = $json->{by_category} ? $json->{by_category}{Pothole}{disable_form} : $json->{disable_form}; + $output->{questions} = [ sort { $a->{message} cmp $b->{message} } @{ $output->{questions} } ]; is_deeply $output, { all => 'Please ring us!', questions => [ @@ -409,6 +418,16 @@ subtest "Category extras includes form disabling string" => sub { code => 'dangerous', answers => [ 'yes' ], }, + { + message => 'Ring the slightly number', + code => 'danger_type', + answers => [ 'slightly' ], + }, + { + message => 'Ring the very number', + code => 'danger_type', + answers => [ 'very', 'extremely' ], + }, ], }; } -- cgit v1.2.3 From ba1179d0378a35809f4eb2df0ceb3e189c4bd1bc Mon Sep 17 00:00:00 2001 From: M Somerville Date: Fri, 18 Sep 2020 20:11:31 +0100 Subject: Show username error in correct place only. --- t/app/controller/report_new_open311.t | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 't/app/controller/report_new_open311.t') diff --git a/t/app/controller/report_new_open311.t b/t/app/controller/report_new_open311.t index 7cd6dca09..9a8063a84 100644 --- a/t/app/controller/report_new_open311.t +++ b/t/app/controller/report_new_open311.t @@ -130,8 +130,8 @@ foreach my $test ( 'This information is required', 'Please enter a subject', 'Please enter some details', - 'Please enter your email', 'Please enter your name', + 'Please enter your email', ], submit_with => { title => 'test', @@ -170,8 +170,8 @@ foreach my $test ( 'This information is required', 'Please enter a subject', 'Please enter some details', - 'Please enter your email', 'Please enter your name', + 'Please enter your email', ], submit_with => { title => 'test', -- cgit v1.2.3 From 22cc2b0e1e6bb2dd7bde7231ad7f7190737ce545 Mon Sep 17 00:00:00 2001 From: M Somerville Date: Thu, 24 Sep 2020 14:39:59 +0100 Subject: Split up two username fields. Rename the not-logging-in username field to username_register. Keep the sign-in field as username because that e.g. overlaps with auth code in two-factor authentication. --- t/app/controller/report_new_open311.t | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 't/app/controller/report_new_open311.t') diff --git a/t/app/controller/report_new_open311.t b/t/app/controller/report_new_open311.t index 9a8063a84..ebbb06567 100644 --- a/t/app/controller/report_new_open311.t +++ b/t/app/controller/report_new_open311.t @@ -108,7 +108,8 @@ my $empty_form = { photo3 => '', name => '', may_show_name => '1', - username => '', + username_register => '', + username => '', phone => '', category => '', password_sign_in => '', @@ -137,7 +138,7 @@ foreach my $test ( title => 'test', detail => 'test detail', name => 'Test User', - username => 'testopen311@example.com', + username_register => 'testopen311@example.com', category => 'Street lighting', number => 27, type => 'old', @@ -177,7 +178,7 @@ foreach my $test ( title => 'test', detail => 'test detail', name => 'Test User', - username => 'testopen311@example.com', + username_register => 'testopen311@example.com', size => 'big', colour => 'red', }, @@ -201,7 +202,7 @@ foreach my $test ( $mech->clear_emails_ok; # check that the user does not exist - my $test_email = $test->{submit_with}->{username}; + my $test_email = $test->{submit_with}->{username_register}; my $user = FixMyStreet::DB->resultset('User')->find( { email => $test_email } ); if ( $user ) { $user->problems->delete; @@ -452,7 +453,7 @@ subtest "Category extras includes form disabling string" => sub { # Test submission of whole form, switching back to a blocked category at the same time $mech->submit_form_ok({ with_fields => { category => 'Pothole', title => 'Title', detail => 'Detail', - username => 'testing@example.org', name => 'Testing Example', + username_register => 'testing@example.org', name => 'Testing Example', } }); $mech->content_contains('