From b60f27642909c7941923e7eea3ff0d7dd2835ab6 Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Thu, 11 Feb 2021 16:28:18 +0100 Subject: [PATCH] Bug 27683: Unit test for GetAnalyticsCount Run prove t/db_dependent/Items/GetAnalyticsCount.t --- t/db_dependent/Items/GetAnalyticsCount.t | 42 ++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 t/db_dependent/Items/GetAnalyticsCount.t diff --git a/t/db_dependent/Items/GetAnalyticsCount.t b/t/db_dependent/Items/GetAnalyticsCount.t new file mode 100755 index 0000000000..7430102b26 --- /dev/null +++ b/t/db_dependent/Items/GetAnalyticsCount.t @@ -0,0 +1,42 @@ +use Modern::Perl; + +use Test::More tests => 1; +use Test::MockModule; +use t::lib::Mocks; +use t::lib::TestBuilder; + +use C4::Items; +use Koha::Database; + +my $schema = Koha::Database->new->schema; +$schema->storage->txn_begin; + +subtest 'GetAnalyticsCount' => sub { + plan tests => 2; + + my $itemnumber = '123456789'; + + my $engine = C4::Context->preference("SearchEngine") // 'Zebra'; + my $search = Test::MockModule->new("Koha::SearchEngine::${engine}::Search"); + $search->mock( + 'simple_search_compat', + sub { + my ( $self, $query ) = @_; + if ( $query and $query eq "hi=$itemnumber" ) { + return ( undef, undef, 7 ); + } + return ( undef, undef, 0 ); + } + ); + + t::lib::Mocks::mock_preference( 'EasyAnalyticalRecords', 0 ); + my $c = C4::Items::GetAnalyticsCount($itemnumber); + is( $c, 0, 'GetAnalyticsCount returns 0 when pref is disabled' ); + + t::lib::Mocks::mock_preference( 'EasyAnalyticalRecords', 1 ); + $c = C4::Items::GetAnalyticsCount($itemnumber); + is( $c, 7, 'GetAnalyticsCount uses simple_search_compat("hi=") when pref is enabled' ); + +}; + +$schema->storage->txn_rollback; -- 2.30.0