diff --git a/t/02-registration.t b/t/02-registration.t index efa0b8a..85355df 100644 --- a/t/02-registration.t +++ b/t/02-registration.t @@ -12,8 +12,8 @@ require "$FindBin::Bin/../index.pl"; my $t = Test::Mojo->new('Travelynx'); -if (not $t->app->config->{db}) { - plan(skip_all => 'No database configured'); +if ( not $t->app->config->{db} ) { + plan( skip_all => 'No database configured' ); } $t->app->pg->db->query('drop schema if exists travelynx_test_02 cascade'); @@ -90,5 +90,31 @@ $t->post_ok( ); $t->status_is(302)->header_is( location => '/' ); +# Request deletion + +$csrf_token = $t->ua->get('/account')->res->dom->at('input[name=csrf_token]') + ->attr('value'); + +$t->post_ok( + '/delete' => form => { + action => 'delete', + csrf_token => $csrf_token, + password => 'foofoofoo', + } +); +$t->status_is(302)->header_is( location => '/account' ); +$t->get_ok('/account'); +$t->status_is(200)->content_like(qr{wird gelöscht}); + +$t->post_ok( + '/delete' => form => { + action => 'undelete', + csrf_token => $csrf_token, + } +); +$t->status_is(302)->header_is( location => '/account' ); +$t->get_ok('/account'); +$t->status_is(200)->content_unlike(qr{wird gelöscht}); + $t->app->pg->db->query('drop schema travelynx_test_02 cascade'); done_testing();