diff options
author | Edmund von der Burg <evdb@mysociety.org> | 2011-04-11 17:15:16 +0100 |
---|---|---|
committer | Edmund von der Burg <evdb@mysociety.org> | 2011-04-11 17:15:16 +0100 |
commit | 0786cbc17ad0d773c3fe125a43bd8b6e058a22dc (patch) | |
tree | ea4a47655b312575edca2b0ba9eb187894d644bf /perllib/FixMyStreet/TestMech.pm | |
parent | eef4484ef6c9810dc2c174942bac0c0df13e640b (diff) |
More robust tests
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 ) # |