| Lines 1-14
          
      
      
        Link Here | 
        
          | 1 | #!/usr/bin/perl | 1 | #!/usr/bin/perl | 
        
          | 2 | # | 2 | # | 
          
            
              | 3 | # This Koha test module is a stub!   | 3 | #testing C4 matcher | 
            
              | 4 | # Add more tests here!!! |  |  | 
        
          | 5 |  | 4 |  | 
        
          | 6 | use strict; | 5 | use strict; | 
        
          | 7 | use warnings; | 6 | use warnings; | 
          
            
              | 8 |  | 7 | use Test::More tests => 10; | 
            
              | 9 | use Test::More tests => 1; | 8 | use Test::MockModule; | 
        
          | 10 |  | 9 |  | 
        
          | 11 | BEGIN { | 10 | BEGIN { | 
          
            
              | 12 |         use_ok('C4::Matcher'); | 11 |     use_ok('C4::Matcher'); | 
        
          | 13 | } | 12 | } | 
        
          | 14 |  | 13 |  | 
          
            
              | 15 | -  | 14 | my $module = new Test::MockModule('C4::Context'); | 
            
              |  |  | 15 | $module->mock( | 
            
              | 16 |     '_new_dbh', | 
            
              | 17 |     sub { | 
            
              | 18 |         my $dbh = DBI->connect( 'DBI:Mock:', '', '' ) | 
            
              | 19 |           || die "Cannot create handle: $DBI::errstr\n"; | 
            
              | 20 |         return $dbh; | 
            
              | 21 |     } | 
            
              | 22 | ); | 
            
              | 23 | my $matcher = [ | 
            
              | 24 |     [ 'matcher_id', 'code', 'description', 'record_type', 'threshold' ], | 
            
              | 25 |     [ 1,            'ISBN', 'ISBN',        'red',         1 ], | 
            
              | 26 |     [ 2,            'ISSN', 'ISSN',        'blue',        0 ] | 
            
              | 27 | ]; | 
            
              | 28 | my $dbh = C4::Context->dbh(); | 
            
              | 29 |  | 
            
              | 30 | $dbh->{mock_add_resultset} = $matcher; | 
            
              | 31 |  | 
            
              | 32 | my @matchers = C4::Matcher::GetMatcherList(); | 
            
              | 33 |  | 
            
              | 34 | is( $matchers[0]->{'matcher_id'}, 1, 'First matcher_id value is 1' ); | 
            
              | 35 |  | 
            
              | 36 | is( $matchers[1]->{'matcher_id'}, 2, 'Second matcher_id value is 2' ); | 
            
              | 37 |  | 
            
              | 38 | $dbh->{mock_add_resultset} = $matcher; | 
            
              | 39 |  | 
            
              | 40 | my $matcher_id = C4::Matcher::GetMatcherId('ISBN'); | 
            
              | 41 |  | 
            
              | 42 | is( $matcher_id, 1, 'testing getmatcherid' ); | 
            
              | 43 |  | 
            
              | 44 | my $testmatcher; | 
            
              | 45 |  | 
            
              | 46 | ok( $testmatcher = C4::Matcher->new( 'red', 1 ), 'testing matcher new' ); | 
            
              | 47 |  | 
            
              | 48 | ok( $testmatcher = C4::Matcher->new( 'blue', 0 ), 'testing matcher new' ); | 
            
              | 49 |  | 
            
              | 50 | $testmatcher->threshold(1000); | 
            
              | 51 |  | 
            
              | 52 | is( $testmatcher->threshold(), 1000, 'testing threshhold accessor method' ); | 
            
              | 53 |  | 
            
              | 54 | $testmatcher->_id(53); | 
            
              | 55 |  | 
            
              | 56 | is( $testmatcher->_id(), 53, 'testing _id accessor' ); | 
            
              | 57 |  | 
            
              | 58 | $testmatcher->code('match on ISBN'); | 
            
              | 59 |  | 
            
              | 60 | is( $testmatcher->code(), 'match on ISBN', 'testing code accessor' ); | 
            
              | 61 |  | 
            
              | 62 | $testmatcher->description('match on ISSN'); | 
            
              | 63 |  | 
            
              | 64 | is( $testmatcher->description(), 'match on ISSN', 'testing code accessor' ); |