|
Lines 16-22
Link Here
|
| 16 |
use Modern::Perl; |
16 |
use Modern::Perl; |
| 17 |
use Test::More tests => 1; |
17 |
use Test::More tests => 1; |
| 18 |
|
18 |
|
| 19 |
use C4::Log; |
19 |
use Koha::ActionLogs; |
| 20 |
|
20 |
|
| 21 |
use t::lib::Mocks; |
21 |
use t::lib::Mocks; |
| 22 |
use t::lib::TestBuilder; |
22 |
use t::lib::TestBuilder; |
|
Lines 29-76
subtest 'Test Koha::Patrons::merge' => sub {
Link Here
|
| 29 |
plan tests => 4; |
29 |
plan tests => 4; |
| 30 |
my $builder = t::lib::TestBuilder->new; |
30 |
my $builder = t::lib::TestBuilder->new; |
| 31 |
|
31 |
|
| 32 |
my $keeper = $builder->build_object({ class => 'Koha::Patrons' }); |
32 |
my $keeper = $builder->build_object( { class => 'Koha::Patrons' } ); |
| 33 |
|
33 |
|
| 34 |
my $borrower1 = $builder->build({source => 'Borrower'}); |
34 |
my $borrower1 = $builder->build( { source => 'Borrower' } ); |
| 35 |
my $borrower2 = $builder->build({source => 'Borrower'}); |
35 |
my $borrower2 = $builder->build( { source => 'Borrower' } ); |
| 36 |
my $borrower3 = $builder->build({source => 'Borrower'}); |
36 |
my $borrower3 = $builder->build( { source => 'Borrower' } ); |
| 37 |
my $borrower4 = $builder->build({source => 'Borrower'}); |
37 |
my $borrower4 = $builder->build( { source => 'Borrower' } ); |
| 38 |
|
38 |
|
| 39 |
#test with BorrowersLog on |
39 |
#test with BorrowersLog on |
| 40 |
t::lib::Mocks::mock_preference('BorrowersLog', 1); |
40 |
t::lib::Mocks::mock_preference( 'BorrowersLog', 1 ); |
| 41 |
|
41 |
|
| 42 |
my $results = $keeper->merge_with([ $borrower1->{borrowernumber}, $borrower2->{borrowernumber} ]); |
42 |
my $results = $keeper->merge_with( [ $borrower1->{borrowernumber}, $borrower2->{borrowernumber} ] ); |
| 43 |
|
43 |
|
| 44 |
my $log=GetLogs("","","",["MEMBERS"],["PATRON_MERGE"],$keeper->id,""); |
44 |
my $log = Koha::ActionLogs->search( |
| 45 |
|
45 |
{ |
| 46 |
my $info_borrower1 = $borrower1->{firstname} . " " . $borrower1->{surname} . " (" . $borrower1->{cardnumber} . ") has been merged into " . |
46 |
module => 'MEMBERS', |
| 47 |
$keeper->firstname . " " . $keeper->surname . " (" . $keeper->cardnumber . ")"; |
47 |
action => 'PATRON_MERGE', |
|
|
48 |
object => $keeper->id |
| 49 |
}, |
| 50 |
{ order_by => { -desc => "timestamp" } } |
| 51 |
)->unblessed; |
| 52 |
|
| 53 |
my $info_borrower1 = |
| 54 |
$borrower1->{firstname} . " " |
| 55 |
. $borrower1->{surname} . " (" |
| 56 |
. $borrower1->{cardnumber} |
| 57 |
. ") has been merged into " |
| 58 |
. $keeper->firstname . " " |
| 59 |
. $keeper->surname . " (" |
| 60 |
. $keeper->cardnumber . ")"; |
| 48 |
my $info_log = $log->[0]{info}; |
61 |
my $info_log = $log->[0]{info}; |
| 49 |
|
62 |
|
| 50 |
is($info_log,$info_borrower1,"GetLogs returns results in the log viewer for the merge of " . $borrower1->{borrowernumber}); |
63 |
is( |
| 51 |
|
64 |
$info_log, $info_borrower1, |
| 52 |
my $info_borrower2 = $borrower2->{firstname} . " " . $borrower2->{surname} . " (" . $borrower2->{cardnumber} . ") has been merged into " . |
65 |
"GetLogs returns results in the log viewer for the merge of " . $borrower1->{borrowernumber} |
| 53 |
$keeper->firstname . " " . $keeper->surname . " (" . $keeper->cardnumber . ")"; |
66 |
); |
|
|
67 |
|
| 68 |
my $info_borrower2 = |
| 69 |
$borrower2->{firstname} . " " |
| 70 |
. $borrower2->{surname} . " (" |
| 71 |
. $borrower2->{cardnumber} |
| 72 |
. ") has been merged into " |
| 73 |
. $keeper->firstname . " " |
| 74 |
. $keeper->surname . " (" |
| 75 |
. $keeper->cardnumber . ")"; |
| 54 |
$info_log = $log->[1]{info}; |
76 |
$info_log = $log->[1]{info}; |
| 55 |
|
77 |
|
| 56 |
is($info_log,$info_borrower2,"GetLogs returns results in the log viewer for the merge of " . $borrower2->{borrowernumber}); |
78 |
is( |
| 57 |
|
79 |
$info_log, $info_borrower2, |
|
|
80 |
"GetLogs returns results in the log viewer for the merge of " . $borrower2->{borrowernumber} |
| 81 |
); |
| 58 |
|
82 |
|
| 59 |
#test with BorrowersLog off |
83 |
#test with BorrowersLog off |
| 60 |
t::lib::Mocks::mock_preference('BorrowersLog', 0); |
84 |
t::lib::Mocks::mock_preference( 'BorrowersLog', 0 ); |
|
|
85 |
|
| 86 |
$keeper = $builder->build_object( { class => 'Koha::Patrons' } ); |
| 61 |
|
87 |
|
| 62 |
$keeper = $builder->build_object({ class => 'Koha::Patrons' }); |
88 |
$results = $keeper->merge_with( [ $borrower3->{borrowernumber}, $borrower4->{borrowernumber} ] ); |
| 63 |
|
89 |
|
| 64 |
$results = $keeper->merge_with([ $borrower3->{borrowernumber}, $borrower4->{borrowernumber} ]); |
90 |
$log = Koha::ActionLogs->search( |
|
|
91 |
{ |
| 92 |
module => 'MEMBERS', |
| 93 |
action => 'PATRON_MERGE', |
| 94 |
object => $keeper->id |
| 95 |
}, |
| 96 |
{ order_by => { -desc => "timestamp" } } |
| 97 |
)->unblessed; |
| 65 |
|
98 |
|
| 66 |
$log=GetLogs("","","",["MEMBERS"],["PATRON_MERGE"],$keeper->id,""); |
|
|
| 67 |
$info_log = $log->[0]{info}; |
99 |
$info_log = $log->[0]{info}; |
| 68 |
|
100 |
|
| 69 |
is($info_log,undef,"GetLogs didn't returns results in the log viewer for the merge of " . $borrower3->{borrowernumber}); |
101 |
is( |
|
|
102 |
$info_log, undef, |
| 103 |
"GetLogs didn't returns results in the log viewer for the merge of " . $borrower3->{borrowernumber} |
| 104 |
); |
| 70 |
|
105 |
|
| 71 |
$info_log = $log->[1]{info}; |
106 |
$info_log = $log->[1]{info}; |
| 72 |
|
107 |
|
| 73 |
is($info_log,undef,"GetLogs didn't returns results in the log viewer for the merge of " . $borrower4->{borrowernumber}); |
108 |
is( |
|
|
109 |
$info_log, undef, |
| 110 |
"GetLogs didn't returns results in the log viewer for the merge of " . $borrower4->{borrowernumber} |
| 111 |
); |
| 74 |
}; |
112 |
}; |
| 75 |
|
113 |
|
| 76 |
$schema->storage->txn_rollback; |
114 |
$schema->storage->txn_rollback; |
| 77 |
- |
|
|