Begin work on addEmailAddress method.

Basic stub and a few tests.
This commit is contained in:
Bradley M. Kuhn 2015-12-09 19:17:46 -08:00
parent 2c14c20db9
commit ba6843e21e
2 changed files with 41 additions and 1 deletions

View file

@ -102,9 +102,44 @@ sub addSupporter ($$) {
$sth->execute($sp->{ledger_entity_id}, $sp->{display_name}, $sp->{public_ack});
my $id = $this->dbh->last_insert_id("","","","");
$sth->finish();
$this->addEmailAddress($id, $sp->{email_address}, $sp->{email_address_type})
if defined $sp->{email_address};
return $id;
}
######################################################################
=begin addEmailAddress
Arguments:
=over
=item $id
Valid supporter id number currently in the database. die() will occur if
the id number is not in the database already as a supporter id.
=item $emailAddress
Scalar string that contains an email address. die() will occur if the
email address isn't properly formatted.
=item $emailAddressType
Scalar string that contains the email address type. This type will be
created in the database if it does not already exist, so be careful.
=back
=cut
sub addEmailAddress($$$$) {
my($self, $id, $emailAddress, $emailAddressType) = @_;
die "addEmailAddress: invalid id, $id" unless $self->_verifyId($id);
}
######################################################################
=head1 Non-Public Methods

View file

@ -5,7 +5,7 @@
use strict;
use warnings;
use Test::More tests => 13;
use Test::More tests => 15;
use Test::Exception;
use Scalar::Util qw(looks_like_number);
@ -74,6 +74,11 @@ dies_ok { $sp->_verifyId("String") } "_verifyId: dies for non-numeric id";
# This is a hacky way to test this; but should work
ok(not ($sp->_verifyId($id2 + 10)), "_verifyId: non-existent id is not found");
dies_ok { $sp->_addEmailAdress(undef, 'drapper@example.org', 'paypal'); }
"_addEmailAdress: dies for undefined id";
dies_ok { $sp->_addEmailAdress("String", 'drapper@example.org', 'paypal'); }
"_addEmailAdress: dies for non-numeric id";
=pod
=back