5 use C4
::Members qw
/AddMember GetMember GetBorrowercategory/;
9 use Test
::More tests
=> 15;
12 use_ok
('C4::ILSDI::Services');
15 my $dbh = C4
::Context
->dbh;
18 $dbh->{AutoCommit
} = 0;
19 $dbh->{RaiseError
} = 1;
23 firstname
=> 'my firstname',
24 surname
=> 'my surname',
27 cardnumber
=> 'ilsdi-cardnumber',
28 userid
=> 'ilsdi-userid',
29 password
=> 'ilsdi-password',
32 # Crate patron category
33 unless ( GetBorrowercategory
('UT') ) {
34 $dbh->do("INSERT INTO categories
35 (categorycode,description,enrolmentperiod,upperagelimit,enrolmentfee,overduenoticerequired,reservefee,category_type,default_privacy)
37 ('UT','Unit tester',99,99,0.000000,1,0.000000,'C','default');");
41 unless ( GetBranchDetail
('UT') ) {
42 $dbh->do("INSERT INTO branches (branchcode,branchname) VALUES ('UT','Unit test library');");
46 my $borrowernumber = AddMember
(%data);
47 my $borrower = GetMember
( borrowernumber
=> $borrowernumber );
49 { # AuthenticatePatron test
52 $query->param('username',$borrower->{'userid'});
53 $query->param('password','ilsdi-password');
55 my $reply = C4
::ILSDI
::Services
::AuthenticatePatron
($query);
56 is
($reply->{'id'}, $borrowernumber, "userid and password - Patron authenticated");
57 is
($reply->{'code'}, undef, "Error code undef");
59 $query->param('password','ilsdi-passworD');
60 $reply = C4
::ILSDI
::Services
::AuthenticatePatron
($query);
61 is
($reply->{'code'}, 'PatronNotFound', "userid and wrong password - PatronNotFound");
62 is
($reply->{'id'}, undef, "id undef");
64 $query->param('password','ilsdi-password');
65 $query->param('username','wrong-ilsdi-useriD');
66 $reply = C4
::ILSDI
::Services
::AuthenticatePatron
($query);
67 is
($reply->{'code'}, 'PatronNotFound', "non-existing userid - PatronNotFound");
68 is
($reply->{'id'}, undef, "id undef");
70 $query->param('username',uc($borrower->{'userid'}));
71 $reply = C4
::ILSDI
::Services
::AuthenticatePatron
($query);
72 is
($reply->{'id'}, $borrowernumber, "userid is not case sensitive - Patron authenticated");
73 is
($reply->{'code'}, undef, "Error code undef");
75 $query->param('username',$borrower->{'cardnumber'});
76 $reply = C4
::ILSDI
::Services
::AuthenticatePatron
($query);
77 is
($reply->{'id'}, $borrowernumber, "cardnumber and password - Patron authenticated");
78 is
($reply->{'code'}, undef, "Error code undef");
80 $query->param('password','ilsdi-passworD');
81 $reply = C4
::ILSDI
::Services
::AuthenticatePatron
($query);
82 is
($reply->{'code'}, 'PatronNotFound', "cardnumber and wrong password - PatronNotFount");
83 is
($reply->{'id'}, undef, "id undef");
85 $query->param('username','randomcardnumber1234');
86 $query->param('password','ilsdi-password');
87 $reply = C4
::ILSDI
::Services
::AuthenticatePatron
($query);
88 is
($reply->{'code'}, 'PatronNotFound', "non-existing cardnumer/userid - PatronNotFound");
89 is
($reply->{'id'}, undef, "id undef");