_verifyRequestTypeId: Implementation & unit tests.
Straightforward helper method.
This commit is contained in:
		
							parent
							
								
									1c33f4cbba
								
							
						
					
					
						commit
						9dcea735f4
					
				
					 2 changed files with 48 additions and 1 deletions
				
			
		|  | @ -548,6 +548,37 @@ sub _verifyId($$) { | |||
| 
 | ||||
| } | ||||
| 
 | ||||
| =item _verifyRequestTypeId() | ||||
| 
 | ||||
| Parameters: | ||||
| 
 | ||||
| =over | ||||
| 
 | ||||
| =item $self: current object. | ||||
| 
 | ||||
| =item $requestTypeId: A scalar numeric argument that is the request type id to  lookup | ||||
| 
 | ||||
| 
 | ||||
| =back | ||||
| 
 | ||||
| Returns: scalar boolean, which is true iff. the $requestTypeId is valid and | ||||
| already in the supporter database's request_type table. | ||||
| 
 | ||||
| 
 | ||||
| =cut | ||||
| 
 | ||||
| 
 | ||||
| sub _verifyRequestTypeId($$) { | ||||
|   my($self, $requestTypeId) = @_; | ||||
| 
 | ||||
|   die "_verifyRequestTypeId() called with a non-numeric id" unless defined $requestTypeId and looks_like_number($requestTypeId); | ||||
| 
 | ||||
|   my $val = $self->dbh()->selectall_hashref("SELECT id FROM request_type WHERE id = " . | ||||
|                                             $self->dbh->quote($requestTypeId, 'SQL_INTEGER'), 'id'); | ||||
|   return (defined $val and defined $val->{$requestTypeId}); | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| =item _getOrCreateRequestType | ||||
| 
 | ||||
| Arguments: | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| use strict; | ||||
| use warnings; | ||||
| 
 | ||||
| use Test::More tests => 110; | ||||
| use Test::More tests => 124; | ||||
| use Test::Exception; | ||||
| 
 | ||||
| use Scalar::Util qw(looks_like_number reftype); | ||||
|  | @ -423,6 +423,22 @@ lives_ok { $tempSP->_getOrCreateRequestType(\%hh); } | |||
| is_deeply(\%hh, { requestTypeId => $rr }, | ||||
|    "_getOrCreateRequestType: deletes requestType if both are provided."); | ||||
| 
 | ||||
| dies_ok { $tempSP->_verifyRequestTypeId(undef); } | ||||
|         "_verifyRequestTypeId: dies for undefined requestTypeId"; | ||||
| 
 | ||||
| dies_ok { $tempSP->_verifyRequestTypeId("NoStringsPlease"); } | ||||
|         "_verifyRequestTypeId: dies for a string requestTypeId"; | ||||
| 
 | ||||
| ok( (not $tempSP->_verifyRequestTypeId(0)), "_verifyRequestTypeId: returns false for id lookup for 0"); | ||||
| 
 | ||||
| # Assumption here: that id number one more than the last added would never be in db. | ||||
| ok( (not $tempSP->_verifyRequestTypeId($rr + 1)), | ||||
|     "_verifyRequestTypeId: returns false for id one greater than last added"); | ||||
| 
 | ||||
| ok( ($tempSP->_verifyRequestTypeId($rr)), | ||||
|     "_verifyRequestTypeId: returns true for id known to be in database"); | ||||
| 
 | ||||
| 
 | ||||
| =item _getOrCreateRequestConfiguration | ||||
| 
 | ||||
| =cut | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn