diff options
Diffstat (limited to 'perllib/FixMyStreet/TestMech.pm')
-rw-r--r-- | perllib/FixMyStreet/TestMech.pm | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/perllib/FixMyStreet/TestMech.pm b/perllib/FixMyStreet/TestMech.pm index 3c2eb533d..26738556d 100644 --- a/perllib/FixMyStreet/TestMech.pm +++ b/perllib/FixMyStreet/TestMech.pm @@ -101,9 +101,31 @@ sub log_out_ok { $mech->not_logged_in_ok; } +=head2 delete_user + + $mech->delete_user( $user ); + $mech->delete_user( $email ); + +Delete the current user, including linked objects like problems etc. Can be +either a user object or an email address. + +=cut + sub delete_user { - my $mech = shift; - my $user = shift; + my $mech = shift; + my $email_or_user = shift; + + my $user = + ref $email_or_user + ? $email_or_user + : FixMyStreet::App->model('DB::User') + ->find( { email => $email_or_user } ); + + # If no user found we can't delete them + if ( !$user ) { + ok( 1, "No user found to delete" ); + return 1; + } $mech->log_out_ok; ok( $_->delete, "delete problem " . $_->title ) # |