| 
      
            Lines 36-42
          use t::lib::Mocks;
      
      
        Link Here
      
     | 
  
        
          | 36 | 
           | 
          36 | 
           | 
        
        
          | 37 | 
          BEGIN { | 
          37 | 
          BEGIN { | 
        
        
          | 38 | 
              # Mock pluginsdir before loading Plugins module  | 
          38 | 
              # Mock pluginsdir before loading Plugins module  | 
        
          
            
              | 39 | 
                  my $path = dirname(__FILE__) . '/../../../lib';  | 
              39 | 
                  my $path = dirname(__FILE__) . '/../../../lib/plugins';  | 
            
        
          | 40 | 
              t::lib::Mocks::mock_config( 'pluginsdir', $path );  | 
          40 | 
              t::lib::Mocks::mock_config( 'pluginsdir', $path );  | 
        
        
          | 41 | 
           | 
          41 | 
           | 
        
        
          | 42 | 
              use_ok('Koha::Plugins'); | 
          42 | 
              use_ok('Koha::Plugins'); | 
        
  
    | 
      
            Lines 61-69
          subtest 'call() tests' => sub {
      
      
        Link Here
      
     | 
  
        
          | 61 | 
           | 
          61 | 
           | 
        
        
          | 62 | 
              my @plugins;  | 
          62 | 
              my @plugins;  | 
        
        
          | 63 | 
           | 
          63 | 
           | 
        
          
            
              | 64 | 
                  warnings_are  | 
              64 | 
                  warning_is { @plugins = $plugins->InstallPlugins; } undef; | 
            
            
              | 65 | 
                   { @plugins = $plugins->InstallPlugins; } | 
               | 
               | 
            
            
              | 66 | 
                   [ "Calling 'install' died for plugin Koha::Plugin::BrokenInstall", "Calling 'upgrade' died for plugin Koha::Plugin::BrokenUpgrade" ];  | 
            
        
          | 67 | 
           | 
          65 | 
           | 
        
        
          | 68 | 
              foreach my $plugin (@plugins) { | 
          66 | 
              foreach my $plugin (@plugins) { | 
        
        
          | 69 | 
                  $plugin->enable();  | 
          67 | 
                  $plugin->enable();  | 
        
  
    | 
      
            Lines 99-108
          subtest 'more call() tests' => sub {
      
      
        Link Here
      
     | 
  
        
          | 99 | 
              my $plugins = Koha::Plugins->new({ enable_plugins => 1 }); | 
          97 | 
              my $plugins = Koha::Plugins->new({ enable_plugins => 1 }); | 
        
        
          | 100 | 
              my @plugins;  | 
          98 | 
              my @plugins;  | 
        
        
          | 101 | 
           | 
          99 | 
           | 
        
          
            
              | 102 | 
                  warnings_are  | 
              100 | 
                  warning_is { @plugins = $plugins->InstallPlugins; } undef; | 
            
            
              | 103 | 
                   { @plugins = $plugins->InstallPlugins; } | 
               | 
               | 
            
            
              | 104 | 
                   [ "Calling 'install' died for plugin Koha::Plugin::BrokenInstall",  | 
            
            
              | 105 | 
                     "Calling 'upgrade' died for plugin Koha::Plugin::BrokenUpgrade" ];  | 
            
        
          | 106 | 
           | 
          101 | 
           | 
        
        
          | 107 | 
              foreach my $plugin (@plugins) { | 
          102 | 
              foreach my $plugin (@plugins) { | 
        
        
          | 108 | 
                  $plugin->enable();  | 
          103 | 
                  $plugin->enable();  | 
        
  
    | 
      
            Lines 142-149
          subtest 'GetPlugins() tests' => sub {
      
      
        Link Here
      
     | 
  
        
          | 142 | 
           | 
          137 | 
           | 
        
        
          | 143 | 
              my $plugins = Koha::Plugins->new({ enable_plugins => 1 }); | 
          138 | 
              my $plugins = Koha::Plugins->new({ enable_plugins => 1 }); | 
        
        
          | 144 | 
           | 
          139 | 
           | 
        
          
            
              | 145 | 
                  warnings_are { $plugins->InstallPlugins; } | 
              140 | 
                  warning_is { $plugins->InstallPlugins; } undef; | 
            
            
              | 146 | 
                  [ "Calling 'install' died for plugin Koha::Plugin::BrokenInstall", "Calling 'upgrade' died for plugin Koha::Plugin::BrokenUpgrade" ];  | 
               | 
               | 
            
        
          | 147 | 
           | 
          141 | 
           | 
        
        
          | 148 | 
              my @plugins = $plugins->GetPlugins({ method => 'report', all => 1 }); | 
          142 | 
              my @plugins = $plugins->GetPlugins({ method => 'report', all => 1 }); | 
        
        
          | 149 | 
           | 
          143 | 
           | 
        
  
    | 
      
            Lines 204-211
          subtest 'is_enabled() tests' => sub {
      
      
        Link Here
      
     | 
  
        
          | 204 | 
          $schema->storage->txn_begin;  | 
          198 | 
          $schema->storage->txn_begin;  | 
        
        
          | 205 | 
          Koha::Plugins::Methods->delete;  | 
          199 | 
          Koha::Plugins::Methods->delete;  | 
        
        
          | 206 | 
           | 
          200 | 
           | 
        
          
            
              | 207 | 
              warnings_are { Koha::Plugins->new( { enable_plugins => 1 } )->InstallPlugins(); } | 
              201 | 
              warning_is { Koha::Plugins->new( { enable_plugins => 1 } )->InstallPlugins(); } undef; | 
            
            
              | 208 | 
              [ "Calling 'install' died for plugin Koha::Plugin::BrokenInstall", "Calling 'upgrade' died for plugin Koha::Plugin::BrokenUpgrade" ];  | 
               | 
               | 
            
        
          | 209 | 
           | 
          202 | 
           | 
        
        
          | 210 | 
          ok( Koha::Plugins::Methods->search( { plugin_class => 'Koha::Plugin::Test' } )->count, 'Test plugin methods added to database' ); | 
          203 | 
          ok( Koha::Plugins::Methods->search( { plugin_class => 'Koha::Plugin::Test' } )->count, 'Test plugin methods added to database' ); | 
        
        
          | 211 | 
          is( Koha::Plugins::Methods->search({ plugin_class => 'Koha::Plugin::Test', plugin_method => '_private_sub' })->count, 0, 'Private methods are skipped' ); | 
          204 | 
          is( Koha::Plugins::Methods->search({ plugin_class => 'Koha::Plugin::Test', plugin_method => '_private_sub' })->count, 0, 'Private methods are skipped' ); | 
        
  
    | 
      
            Lines 320-328
          for my $pass ( 1 .. 2 ) {
      
      
        Link Here
      
     | 
  
        
          | 320 | 
           | 
          313 | 
           | 
        
        
          | 321 | 
              ok( -f $plugins_dir . "/Koha/Plugin/Com/ByWaterSolutions/KitchenSink.pm", "KitchenSink plugin installed successfully" );  | 
          314 | 
              ok( -f $plugins_dir . "/Koha/Plugin/Com/ByWaterSolutions/KitchenSink.pm", "KitchenSink plugin installed successfully" );  | 
        
        
          | 322 | 
              $INC{$pm_path} = $full_pm_path; # FIXME I do not really know why, but if this is moved before the $plugin constructor, it will fail with Can't locate object method "new" via package "Koha::Plugin::Com::ByWaterSolutions::KitchenSink" | 
          315 | 
              $INC{$pm_path} = $full_pm_path; # FIXME I do not really know why, but if this is moved before the $plugin constructor, it will fail with Can't locate object method "new" via package "Koha::Plugin::Com::ByWaterSolutions::KitchenSink" | 
        
          
            
              | 323 | 
                  warnings_are  | 
              316 | 
                  warning_is { Koha::Plugins->new( { enable_plugins => 1 } )->InstallPlugins(); } undef; | 
            
            
              | 324 | 
                      { Koha::Plugins->new( { enable_plugins => 1 } )->InstallPlugins(); } | 
               | 
               | 
            
            
              | 325 | 
                      [ "Calling 'install' died for plugin Koha::Plugin::BrokenInstall", "Calling 'upgrade' died for plugin Koha::Plugin::BrokenUpgrade" ];  | 
            
        
          | 326 | 
              ok( -f $full_pm_path, "Koha::Plugins::Handler::delete works correctly (pass $pass)" );  | 
          317 | 
              ok( -f $full_pm_path, "Koha::Plugins::Handler::delete works correctly (pass $pass)" );  | 
        
        
          | 327 | 
              Koha::Plugins::Handler->delete({ class => "Koha::Plugin::Com::ByWaterSolutions::KitchenSink", enable_plugins => 1 }); | 
          318 | 
              Koha::Plugins::Handler->delete({ class => "Koha::Plugin::Com::ByWaterSolutions::KitchenSink", enable_plugins => 1 }); | 
        
        
          | 328 | 
              my $sth = C4::Context->dbh->table_info( undef, undef, $table, 'TABLE' );  | 
          319 | 
              my $sth = C4::Context->dbh->table_info( undef, undef, $table, 'TABLE' );  | 
        
  
    | 
      
            Lines 400-406
          subtest 'bundle_path() tests' => sub {
      
      
        Link Here
      
     | 
  
        
          | 400 | 
           | 
          391 | 
           | 
        
        
          | 401 | 
              my $plugin = Koha::Plugin::Test->new;  | 
          392 | 
              my $plugin = Koha::Plugin::Test->new;  | 
        
        
          | 402 | 
           | 
          393 | 
           | 
        
          
            
              | 403 | 
                  is( $plugin->bundle_path, File::Spec->catdir(@current_dir) . '/lib/Koha/Plugin/Test' );  | 
              394 | 
                  is( $plugin->bundle_path, File::Spec->catdir(@current_dir) . '/lib/plugins/Koha/Plugin/Test' );  | 
            
        
          | 404 | 
           | 
          395 | 
           | 
        
        
          | 405 | 
          };  | 
          396 | 
          };  | 
        
        
          | 406 | 
           | 
          397 | 
           |