Correct arguments to method; add public_ack

This commit is contained in:
Bradley M. Kuhn 2015-12-06 19:24:10 -08:00
parent afc15507fb
commit 3d672d1f68
2 changed files with 20 additions and 4 deletions

View file

@ -44,10 +44,16 @@ sub ledgerCmd ($) {
return $_[0]->{ledgerCmd}; return $_[0]->{ledgerCmd};
} }
###################################################################### ######################################################################
sub addSupporter ($) { sub addSupporter ($$) {
my($sp) = @_; my($this, $sp) = @_;
die "ledger_entity_id required" unless defined $sp->{ledger_entity_id}; die "ledger_entity_id required" unless defined $sp->{ledger_entity_id};
$sp->{public_ack} = 0 if not defined $sp->{public_ack};
if ($sp->{public_ack}) {
die "display_name required if public_ack requested" unless defined $sp->{display_name};
}
} }

View file

@ -6,7 +6,7 @@
use strict; use strict;
use warnings; use warnings;
use Test::More tests => 4; use Test::More tests => 7;
use Test::Exception; use Test::Exception;
BEGIN { use_ok('Supporters') }; BEGIN { use_ok('Supporters') };
@ -33,8 +33,18 @@ Test adding a supporter to the database.
=cut =cut
dies_ok(sub { $sp->addSupporter({}) }, "addSupporter: ledger_entity_id required"); dies_ok { $sp->addSupporter({}) }
"addSupporter: ledger_entity_id required";
lives_ok { $sp->addSupporter({ ledger_entity_id => "Whitman-Dick" }) }
"addSupporter: minimal acceptable settings";
dies_ok { $sp->addSupporter({ public_ack => 1, ledger_entity_id => "Whitman-Dick" }) }
"addSupporter: display_name required";
lives_ok { $sp->addSupporter({ display_name => "Donald Drapper",
public_ack => 1, ledger_entity_id => "Whitman-Dick" }) }
"addSupporter: public_ack set to true with a display_name given";
$dbh->disconnect(); $dbh->disconnect();