aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/controller/report_update_text.t
diff options
context:
space:
mode:
Diffstat (limited to 't/app/controller/report_update_text.t')
-rw-r--r--t/app/controller/report_update_text.t63
1 files changed, 33 insertions, 30 deletions
diff --git a/t/app/controller/report_update_text.t b/t/app/controller/report_update_text.t
index 52f221264..fbf5ca0c6 100644
--- a/t/app/controller/report_update_text.t
+++ b/t/app/controller/report_update_text.t
@@ -58,21 +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 => '01214960000000',
- update => 'Update',
- name => 'Name',
- photo1 => '',
- photo2 => '',
- photo3 => '',
- fixed => undef,
- add_alert => 1,
- may_show_name => undef,
- password_sign_in => '',
- password_register => '',
+ username_register => '01214960000000',
+ %defaults,
},
changes => {},
field_errors => [ 'Please check your phone number is correct' ]
@@ -80,23 +84,21 @@ for my $test (
{
desc => 'landline number',
fields => {
- username => '01214960000',
- update => 'Update',
- name => 'Name',
- photo1 => '',
- photo2 => '',
- photo3 => '',
- fixed => undef,
- add_alert => 1,
- may_show_name => undef,
- password_register => '',
- password_sign_in => '',
- },
- changes => {
- username => '0121 496 0000',
+ username_register => '01214960000',
+ %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' );
@@ -126,7 +129,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 +140,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 +152,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 +197,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 +214,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';
}