From b1301f2b4f3fa877f90fb78977da9e52c2cb2b03 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Thu, 19 Sep 2024 12:36:54 +0000 Subject: [PATCH] Bug 37810: Add test Test plan: 1) Apply only tests patch, run: prove t/db_dependent/Koha/ERM/EUsage/UsageDataProvider.t 2) Verify tests fail 3) Apply fix patch 4) Run tests again, verify they pass --- .../Koha/ERM/EUsage/UsageDataProvider.t | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Koha/ERM/EUsage/UsageDataProvider.t b/t/db_dependent/Koha/ERM/EUsage/UsageDataProvider.t index cf06ae0b56..4745b22ca4 100755 --- a/t/db_dependent/Koha/ERM/EUsage/UsageDataProvider.t +++ b/t/db_dependent/Koha/ERM/EUsage/UsageDataProvider.t @@ -17,10 +17,12 @@ use Modern::Perl; -use Test::More tests => 1; +use Test::More tests => 2; use Koha::ERM::EUsage::UsageDataProvider; use Koha::Database; +use Test::MockModule; +use Test::MockObject; use t::lib::TestBuilder; @@ -73,3 +75,37 @@ subtest '_build_url_query' => sub { $schema->storage->txn_rollback; }; + +subtest 'test_connection() tests' => sub { + + plan tests => 1; + + $schema->storage->txn_begin; + + my $ua = Test::MockModule->new('LWP::UserAgent'); + $ua->mock('simple_request', sub { + my $response = Test::MockObject->new(); + + $response->mock('code', sub { + return 200; + }); + $response->mock('is_error', sub { + return 0; + }); + $response->mock('is_redirect', sub { + return 0; + }); + $response->mock('decoded_content', sub { + return '{"Description":"COUNTER Usage Reports for Test platform.","ServiceActive":true,"RegistryURL":"https://www.whatever.com"}'; + }); + $response->{_rc} = 200; + return $response; + }); + + my $usage_data_provider = $builder->build_object( + { class => 'Koha::ERM::EUsage::UsageDataProviders', value => { name => 'TestProvider' } } ); + + is( $usage_data_provider->test_connection, 1); + + $schema->storage->txn_rollback; +}; -- 2.39.2