Bug 11224: (follow-up) apply tidying
[koha.git] / t / db_dependent / Members.t
index 420f7f3..6904190 100755 (executable)
@@ -6,7 +6,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 20;
+use Test::More tests => 23;
 use Data::Dumper;
 
 BEGIN {
@@ -22,13 +22,14 @@ my $BRANCHCODE   = 'CPL';
 
 my $CHANGED_FIRSTNAME = "Marry Ann";
 my $EMAIL             = "Marie\@email.com";
+my $EMAILPRO          = "Marie\@work.com";
 my $ETHNICITY         = "German";
 my $PHONE             = "555-12123";
 
 # XXX should be randomised and checked against the database
 my $IMPOSSIBLE_CARDNUMBER = "XYZZZ999";
 
-my $INDEPENDENT_BRANCHES_PREF = 'IndependantBranches';
+my $INDEPENDENT_BRANCHES_PREF = 'IndependentBranches';
 
 # XXX make a non-commit transaction and rollback rather than insert/delete
 
@@ -58,6 +59,7 @@ my %data = (
     surname => $SURNAME,
     categorycode => $CATEGORYCODE,
     branchcode => $BRANCHCODE,
+    dateofbirth => ''
 );
 
 my $addmem=AddMember(%data);
@@ -73,16 +75,20 @@ ok ( $member->{firstname}    eq $FIRSTNAME    &&
      , "Got member")
   or diag("Mismatching member details: ".Dumper(\%data, $member));
 
+is($member->{dateofbirth}, undef, "Empty dates handled correctly");
+
 $member->{firstname} = $CHANGED_FIRSTNAME;
 $member->{email}     = $EMAIL;
 $member->{ethnicity} = $ETHNICITY;
 $member->{phone}     = $PHONE;
+$member->{emailpro}  = $EMAILPRO;
 ModMember(%$member);
 my $changedmember=GetMemberDetails("",$CARDNUMBER);
 ok ( $changedmember->{firstname} eq $CHANGED_FIRSTNAME &&
      $changedmember->{email}     eq $EMAIL             &&
      $changedmember->{ethnicity} eq $ETHNICITY         &&
-     $changedmember->{phone}     eq $PHONE
+     $changedmember->{phone}     eq $PHONE             &&
+     $changedmember->{emailpro}  eq $EMAILPRO
      , "Member Changed")
   or diag("Mismatching member details: ".Dumper($member, $changedmember));
 
@@ -154,6 +160,19 @@ is ($age, "18", "Age correct");
 $age=GetAge("2011-01-19", "1992-01-19");
 is ($age, "-19", "Birthday In the Future");
 
+C4::Context->set_preference( 'AutoEmailPrimaryAddress', 'OFF' );
+C4::Context->clear_syspref_cache();
+
+my $notice_email = GetNoticeEmailAddress($member->{'borrowernumber'});
+is ($notice_email, $EMAIL, "GetNoticeEmailAddress returns correct value when AutoEmailPrimaryAddress is off");
+
+C4::Context->set_preference( 'AutoEmailPrimaryAddress', 'emailpro' );
+C4::Context->clear_syspref_cache();
+
+$notice_email = GetNoticeEmailAddress($member->{'borrowernumber'});
+is ($notice_email, $EMAILPRO, "GetNoticeEmailAddress returns correct value when AutoEmailPrimaryAddress is emailpro");
+
+
 # clean up 
 DelMember($member->{borrowernumber});
 $results = Search($CARDNUMBER,undef,undef,undef,["cardnumber"]);