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_update_text.t | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 't/app/controller/report_update_text.t') diff --git a/t/app/controller/report_update_text.t b/t/app/controller/report_update_text.t index 52f221264..3f9a73773 100644 --- a/t/app/controller/report_update_text.t +++ b/t/app/controller/report_update_text.t @@ -62,7 +62,8 @@ for my $test ( { desc => 'Invalid phone', fields => { - username => '01214960000000', + username_register => '01214960000000', + username => '', update => 'Update', name => 'Name', photo1 => '', @@ -80,7 +81,8 @@ for my $test ( { desc => 'landline number', fields => { - username => '01214960000', + username_register => '01214960000', + username => '', update => 'Update', name => 'Name', photo1 => '', @@ -92,9 +94,7 @@ for my $test ( password_register => '', password_sign_in => '', }, - changes => { - username => '0121 496 0000', - }, + changes => {}, field_errors => [ 'Please enter a mobile number' ] }, ) @@ -126,7 +126,7 @@ for my $test ( desc => 'submit an update, unregistered, logged out', form_values => { submit_update => 1, - username => $test_phone, + username_register => $test_phone, update => 'Update from an unregistered user', add_alert => undef, name => 'Unreg User', @@ -137,7 +137,7 @@ for my $test ( desc => 'submit an update, unregistered, logged out, sign up for alerts', form_values => { submit_update => 1, - username => $test_phone, + username_register => $test_phone, update => 'Update from an unregistered user', add_alert => 1, name => 'Unreg User', @@ -149,7 +149,7 @@ for my $test ( registered => 1, form_values => { submit_update => 1, - username => $test_phone, + username_register => $test_phone, update => 'Update from a registered user', add_alert => undef, name => 'Reg User', @@ -194,7 +194,7 @@ for my $test ( ok $update, 'found update in database'; is $update->state, 'unconfirmed', 'update unconfirmed'; my $details = $test->{form_values}; - is $update->user->phone, $details->{username}, 'update phone'; + is $update->user->phone, $details->{username_register}, 'update phone'; is $update->user->phone_verified, 1; is $update->text, $details->{update}, 'update text'; is $add_alerts, $details->{add_alert} ? 1 : 0, 'do not sign up for alerts'; @@ -211,7 +211,7 @@ for my $test ( ok $user->check_password( 'new_secret' ), 'password changed'; is $user->name, 'Reg User', 'name changed'; } else { - $user = FixMyStreet::DB->resultset( 'User' )->find( { phone => $details->{username} } ); + $user = FixMyStreet::DB->resultset( 'User' )->find( { phone => $details->{username_register} } ); ok $user, 'found user'; } -- cgit v1.2.3 From 2abe443efb8bbbd7cf3048eec271fd28a777932f Mon Sep 17 00:00:00 2001 From: M Somerville Date: Fri, 11 Sep 2020 18:11:03 +0100 Subject: Show error if text confirmation code sending fails --- t/app/controller/report_update_text.t | 47 +++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 22 deletions(-) (limited to 't/app/controller/report_update_text.t') diff --git a/t/app/controller/report_update_text.t b/t/app/controller/report_update_text.t index 3f9a73773..fbf5ca0c6 100644 --- a/t/app/controller/report_update_text.t +++ b/t/app/controller/report_update_text.t @@ -58,22 +58,25 @@ my $comment = FixMyStreet::DB->resultset('Comment')->find_or_create( { my $comment_id = $comment->id; ok $comment, "created test update - $comment_id"; +my %defaults = ( + username => '', + update => 'Update', + name => 'Name', + photo1 => '', + photo2 => '', + photo3 => '', + fixed => undef, + add_alert => 1, + may_show_name => undef, + password_sign_in => '', + password_register => '', +); for my $test ( { desc => 'Invalid phone', fields => { username_register => '01214960000000', - username => '', - update => 'Update', - name => 'Name', - photo1 => '', - photo2 => '', - photo3 => '', - fixed => undef, - add_alert => 1, - may_show_name => undef, - password_sign_in => '', - password_register => '', + %defaults, }, changes => {}, field_errors => [ 'Please check your phone number is correct' ] @@ -82,21 +85,20 @@ for my $test ( desc => 'landline number', fields => { username_register => '01214960000', - username => '', - update => 'Update', - name => 'Name', - photo1 => '', - photo2 => '', - photo3 => '', - fixed => undef, - add_alert => 1, - may_show_name => undef, - password_register => '', - password_sign_in => '', + %defaults, }, changes => {}, field_errors => [ 'Please enter a mobile number' ] }, + { + desc => 'fails to send', + fields => { + username_register => '+18165550101', + %defaults, + }, + changes => {}, + field_errors => [ 'Sending a confirmation text failed: "Unable to send (21408)"' ] + }, ) { subtest "submit an update - $test->{desc}" => sub { @@ -104,6 +106,7 @@ for my $test ( FixMyStreet::override_config { SMS_AUTHENTICATION => 1, + TWILIO_ACCOUNT_SID => 'AC123', PHONE_COUNTRY => 'GB', }, sub { $mech->submit_form_ok( { with_fields => $test->{fields} }, 'submit update' ); -- cgit v1.2.3