From 7bfa65f4c339a534d6098714af87124b64ce6554 Mon Sep 17 00:00:00 2001 From: Paul Dill Date: Thu, 2 Mar 2017 15:46:35 +0000 Subject: [PATCH] Code cleanup --- lib/Pear/LocalLoop.pm | 72 +------------------------- lib/Pear/LocalLoop/Controller/Admin.pm | 1 + t/admin-approve.t | 22 ++++---- 3 files changed, 13 insertions(+), 82 deletions(-) diff --git a/lib/Pear/LocalLoop.pm b/lib/Pear/LocalLoop.pm index e7f40e8..8a3bac0 100644 --- a/lib/Pear/LocalLoop.pm +++ b/lib/Pear/LocalLoop.pm @@ -38,6 +38,7 @@ Dwarn $config; # shortcut for use in template $self->helper( db => sub { $dbh }); +$self->helper( schema => sub { $schema }); my $r = $self->routes; @@ -62,77 +63,6 @@ $r->any( '/' => sub { }); -#TODO this should limit the number of responses returned, when location is implemented that would be the main way of filtering. -$r->post ('/search' => sub { - my $self = shift; - my $userId = $self->get_active_user_id(); - - my $json = $self->req->json; - if ( ! defined $json ) { - $self->app->log->debug('Path Error: file:' . __FILE__ . ', line: ' . __LINE__); - return $self->render( json => { - success => Mojo::JSON->false, - message => 'JSON is missing.', - }, - status => 400,); #Malformed request - } - - my $searchName = $json->{searchName}; - if ( ! defined $searchName ) { - $self->app->log->debug('Path Error: file:' . __FILE__ . ', line: ' . __LINE__); - return $self->render( json => { - success => Mojo::JSON->false, - message => 'searchName is missing.', - }, - status => 400,); #Malformed request - } - #Is blank - elsif ( $searchName =~ m/^\s*$/) { - $self->app->log->debug('Path Error: file:' . __FILE__ . ', line: ' . __LINE__); - return $self->render( json => { - success => Mojo::JSON->false, - message => 'searchName is blank.', - }, - status => 400,); #Malformed request - } - - #Currently ignored - #TODO implement further. - my $searchLocation = $json->{searchLocation}; - - my @validatedOrgs = (); - { - my $statementValidated = $dbh->prepare("SELECT OrganisationalId, Name, FullAddress, PostCode FROM Organisations WHERE Name LIKE ?"); - $statementValidated->execute('%'.$searchName.'%'); - - while (my ($id, $name, $address, $postcode) = $statementValidated->fetchrow_array()) { - push(@validatedOrgs, $self->create_hash($id,$name,$address,$postcode)); - } - } - - #$self->app->log->debug( "Orgs: " . Dumper @validatedOrgs ); - - my @unvalidatedOrgs = (); - { - my $statementUnvalidated = $dbh->prepare("SELECT PendingOrganisationId, Name, FullAddress, Postcode FROM PendingOrganisations WHERE Name LIKE ? AND UserSubmitted_FK = ?"); - $statementUnvalidated->execute('%'.$searchName.'%', $userId); - - while (my ($id, $name, $fullAddress, $postcode) = $statementUnvalidated->fetchrow_array()) { - push(@unvalidatedOrgs, $self->create_hash($id, $name, $fullAddress, $postcode)); - } - } - - $self->app->log->debug('Path Success: file:' . __FILE__ . ', line: ' . __LINE__); - return $self->render( json => { - success => Mojo::JSON->true, - unvalidated => \@unvalidatedOrgs, - validated => \@validatedOrgs, - }, - status => 200,); - -}); - - $self->hook( before_dispatch => sub { diff --git a/lib/Pear/LocalLoop/Controller/Admin.pm b/lib/Pear/LocalLoop/Controller/Admin.pm index 4790e48..38c1862 100644 --- a/lib/Pear/LocalLoop/Controller/Admin.pm +++ b/lib/Pear/LocalLoop/Controller/Admin.pm @@ -102,5 +102,6 @@ sub post_admin_approve { } + 1; diff --git a/t/admin-approve.t b/t/admin-approve.t index a296fd0..9f3f09a 100644 --- a/t/admin-approve.t +++ b/t/admin-approve.t @@ -243,8 +243,8 @@ is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM PendingTransactions", is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM Organisations", undef, ())}[0],1,"1 verified organisations (choco billy)" ; is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM Transactions", undef, ())}[0],0,"No verified transactions." ; -done_testing(); -exit; +#done_testing(); +#exit; print "test 13 - add valid transaction (type 2: unvalidated organisation)\n"; $json = { @@ -261,7 +261,7 @@ is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM PendingTransactions", is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM Organisations", undef, ())}[0],1,"1 verified organisations (choco billy)" ; is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM Transactions", undef, ())}[0],0,"No verified transactions." ; -print "test 13 - Non-admin (organisation) tries to approve their organisation and fails.\n"; +print "test 14 - Non-admin (organisation) tries to approve their organisation and fails.\n"; $json = { unvalidatedOrganisationId => $newPendingKalmOrgId, }; @@ -270,7 +270,7 @@ $t->post_ok('/admin-approve' => json => $json) ->json_is('/success', Mojo::JSON->false) ->content_like(qr/You are not an admin/i); -print "test 12 - Logout Choco Billy\n"; +print "test 15 - Logout Choco Billy\n"; $t->post_ok('/logout') ->status_is(200) ->json_is('/success', Mojo::JSON->true); @@ -281,7 +281,7 @@ $t->post_ok('/logout') #Login as Admin -print "test 13 - Login - admin\n"; +print "test 16 - Login - admin\n"; $testJson = { 'email' => $emailAdmin, 'password' => $passwordAdmin, @@ -291,13 +291,13 @@ $t->post_ok('/login' => json => $testJson) ->json_is('/success', Mojo::JSON->true); -print "test 14 - JSON is missing.\n"; +print "test 17 - JSON is missing.\n"; $t->post_ok('/admin-approve' => json) ->status_is(400) ->json_is('/success', Mojo::JSON->false) ->content_like(qr/JSON is missing/i); -print "test 15 - unvalidatedOrganisationId missing (non-modify).\n"; +print "test 18 - unvalidatedOrganisationId missing (non-modify).\n"; $json = { }; $t->post_ok('/admin-approve' => json => $json) @@ -305,7 +305,7 @@ $t->post_ok('/admin-approve' => json => $json) ->json_is('/success', Mojo::JSON->false) ->content_like(qr/unvalidatedOrganisationId is missing/i); -print "test 16 - unvalidatedOrganisationId not number (non-modify).\n"; +print "test 19 - unvalidatedOrganisationId not number (non-modify).\n"; $json = { unvalidatedOrganisationId => 'Abc', }; @@ -315,7 +315,7 @@ $t->post_ok('/admin-approve' => json => $json) ->content_like(qr/unvalidatedOrganisationId does not look like a number/i); -print "test 17 - unvalidatedOrganisationId does not exist (non-modify).\n"; +print "test 20 - unvalidatedOrganisationId does not exist (non-modify).\n"; my ($maxPendingId) = $t->app->db->selectrow_array("SELECT MAX(PendingOrganisationId) FROM PendingOrganisations", undef,()); $json = { unvalidatedOrganisationId => ($maxPendingId + 1), @@ -327,7 +327,7 @@ $t->post_ok('/admin-approve' => json => $json) #TODO add text to see the specific one has moved. -print "test 18 - valid approval (non-modify).\n"; +print "test 21 - valid approval (non-modify).\n"; is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM PendingOrganisations", undef, ())}[0],3,"3 unverified organisations."; is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM PendingTransactions", undef, ())}[0],6,"6 unverified transactions." ; is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM Organisations", undef, ())}[0],1,"1 verified organisations (choco billy)" ; @@ -347,7 +347,7 @@ is @{$t->app->db->selectrow_arrayref("SELECT COUNT(*) FROM Organisations WHERE N #TODO check with values missing -print "test 18 - valid approval (non-modify).\n"; +print "test 22 - valid approval (non-modify).\n"; #TODO if we implement constraints on the input data this will fail my $testName = "Change testing turtle name"; my $testFullAddress = "Change testing turtle address";