Merge remote branch 'kc/new/bug_4218' into kcmaster
[koha.git] / t / db_dependent / Members.t
1 #!/usr/bin/perl
2 #
3 # This is to test C4/Members
4 # It requires a working Koha database with the sample data
5
6 use strict;
7 use warnings;
8
9 use Test::More tests => 15;
10
11 BEGIN {
12         use_ok('C4::Members');
13 }
14
15
16 # Make a borrower for testing
17 my $data = { cardnumber => 'TESTCARD01',
18     firstname => 'Marie',
19     surname => 'Mcknight',
20     categorycode => 'S',
21     branchcode => 's'
22     };
23
24 my $addmem=AddMember(%$data);
25
26
27 my $member=GetMemberDetails("","TESTCARD01");
28 is ($member->{firstname}, "Marie", "Got member");
29
30 $member->{firstname}="Claire";
31 ModMember(%$member);
32 my $changedmember=GetMemberDetails("","TESTCARD01");
33 is ($changedmember->{firstname}, "Claire", "Member Changed");
34
35 $member->{firstname}="Marie";
36 ModMember(%$member);
37 $changedmember=GetMemberDetails("","TESTCARD01");
38 is ($changedmember->{firstname}, "Marie", "Member Returned");
39
40 $member->{email}="Marie\@email.com";
41 ModMember(%$member);
42 $changedmember=GetMemberDetails("","TESTCARD01");
43 is ($changedmember->{email}, "Marie\@email.com", "Email Set works");
44
45 $member->{ethnicity}="German";
46 ModMember(%$member);
47 $changedmember=GetMemberDetails("","TESTCARD01");
48 is ($changedmember->{ethnicity}, "German", "Ethnicity Works");
49
50 my @searchstring=("Mcknight");
51 my ($results) = Search(\@searchstring,undef,undef,undef,["surname"]);
52 is ($results->[0]->{surname}, "Mcknight", "Surname Search works");
53
54 $member->{phone}="555-12123";
55 ModMember(%$member);
56
57 @searchstring=("555-12123");
58 ($results) = Search(\@searchstring,undef,undef,undef,["phone"]);
59 is ($results->[0]->{phone}, "555-12123", "phone Search works");
60
61 my $checkcardnum=C4::Members::checkcardnumber("TESTCARD01", "");
62 is ($checkcardnum, "1", "Card No. in use");
63
64 $checkcardnum=C4::Members::checkcardnumber("67", "");
65 is ($checkcardnum, "0", "Card No. not used");
66
67 my $age=GetAge("1992-08-14", "2011-01-19");
68 is ($age, "18", "Age correct");
69
70 $age=GetAge("2011-01-19", "1992-01-19");
71 is ($age, "-19", "Birthday In the Future");
72
73 my $sortdet=C4::Members::GetSortDetails("lost", "3");
74 is ($sortdet, "Lost and Paid For", "lost and paid works");
75
76 my $sortdet2=C4::Members::GetSortDetails("loc", "child");
77 is ($sortdet2, "Children's Area", "Child area works");
78
79 my $sortdet3=C4::Members::GetSortDetails("withdrawn", "1");
80 is ($sortdet3, "Withdrawn", "Withdrawn works");
81
82 # clean up 
83 DelMember($member->{borrowernumber});