Line 0
Link Here
|
0 |
- |
1 |
use Modern::Perl; |
|
|
2 |
|
3 |
use Test::More tests => 1; |
4 |
use Test::MockModule; |
5 |
use t::lib::Mocks; |
6 |
use t::lib::TestBuilder; |
7 |
|
8 |
use C4::Items; |
9 |
use Koha::Database; |
10 |
|
11 |
my $schema = Koha::Database->new->schema; |
12 |
$schema->storage->txn_begin; |
13 |
|
14 |
subtest 'GetAnalyticsCount' => sub { |
15 |
plan tests => 2; |
16 |
|
17 |
my $itemnumber = '123456789'; |
18 |
|
19 |
my $engine = C4::Context->preference("SearchEngine") // 'Zebra'; |
20 |
my $search = Test::MockModule->new("Koha::SearchEngine::${engine}::Search"); |
21 |
$search->mock( |
22 |
'simple_search_compat', |
23 |
sub { |
24 |
my ( $self, $query ) = @_; |
25 |
if ( $query and $query eq "hi=$itemnumber" ) { |
26 |
return ( undef, undef, 7 ); |
27 |
} |
28 |
return ( undef, undef, 0 ); |
29 |
} |
30 |
); |
31 |
|
32 |
t::lib::Mocks::mock_preference( 'EasyAnalyticalRecords', 0 ); |
33 |
my $c = C4::Items::GetAnalyticsCount($itemnumber); |
34 |
is( $c, 0, 'GetAnalyticsCount returns 0 when pref is disabled' ); |
35 |
|
36 |
t::lib::Mocks::mock_preference( 'EasyAnalyticalRecords', 1 ); |
37 |
$c = C4::Items::GetAnalyticsCount($itemnumber); |
38 |
is( $c, 7, 'GetAnalyticsCount uses simple_search_compat("hi=<itemnumber>") when pref is enabled' ); |
39 |
|
40 |
}; |
41 |
|
42 |
$schema->storage->txn_rollback; |