[Koha-patches] [PATCH 1/2] Bug 12347: Unit tests should be updated to new API
Tomas Cohen Arazi
tomascohen at gmail.com
Tue Jun 3 01:09:24 CEST 2014
This patch updates t/db_dependent/Search.t to acknowledge the API change.
Now getRecords returns MARC::Record objects and thus there's no need to
have separate DOM and GRS-1 test cases (at least for it).
To test:
- Apply both bug's patches
- Run
prove -v t/db_dependent/Search.t
=> SUCCESS: all tests pass
Best regards
To+
Sponsored-by: Universidad Nacional de Cordoba
---
t/db_dependent/Search.t | 87 ++++++++++++++-----------------------------------
1 file changed, 24 insertions(+), 63 deletions(-)
diff --git a/t/db_dependent/Search.t b/t/db_dependent/Search.t
index 46d63f4..8f9d29e 100644
--- a/t/db_dependent/Search.t
+++ b/t/db_dependent/Search.t
@@ -17,6 +17,7 @@ use open ':std', ':encoding(utf8)';
use Test::More tests => 4;
use Test::MockModule;
+use Test::Deep;
use MARC::Record;
use File::Spec;
use File::Basename;
@@ -349,8 +350,10 @@ sub run_marc21_search_tests {
!defined $results_hashref->{biblioserver}->{RECORDS}->[1] &&
!defined $results_hashref->{biblioserver}->{RECORDS}->[2] &&
!defined $results_hashref->{biblioserver}->{RECORDS}->[3] &&
- !defined $results_hashref->{biblioserver}->{RECORDS}->[4] &&
- $results_hashref->{biblioserver}->{RECORDS}->[5] eq $record5, "getRecords cursor works");
+ !defined $results_hashref->{biblioserver}->{RECORDS}->[4],
+ "getRecords cursor works (undef first 5 results)");
+ cmp_deeply( $results_hashref->{biblioserver}->{RECORDS}->[5],
+ $record5, "getRecords cursor works");
( undef, $results_hashref, $facets_loop ) =
getRecords('ti:book', 'ti:book', [], [ 'biblioserver' ], '20', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
@@ -360,82 +363,45 @@ sub run_marc21_search_tests {
getRecords('au:Lessig', 'au:Lessig', [], [ 'biblioserver' ], '20', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
is($results_hashref->{biblioserver}->{hits}, 4, "getRecords title search for 'Australia' matched right number of records");
-if ( $indexing_mode eq 'dom' ) {
( undef, $results_hashref, $facets_loop ) =
getRecords('salud', 'salud', [], [ 'biblioserver' ], '19', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[0],'UTF-8')->title_proper() =~ m/^Efectos del ambiente/ &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[7],'UTF-8')->title_proper() eq 'Salud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies' &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[18],'UTF-8')->title_proper() =~ m/^Indicadores de resultados identificados/
+ ok($results_hashref->{biblioserver}->{RECORDS}->[0]->title_proper() =~ m/^Efectos del ambiente/ &&
+ $results_hashref->{biblioserver}->{RECORDS}->[7]->title_proper() eq 'Salud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies' &&
+ $results_hashref->{biblioserver}->{RECORDS}->[18]->title_proper() =~ m/^Indicadores de resultados identificados/
, "Simple relevance sorting in getRecords matches old behavior");
( undef, $results_hashref, $facets_loop ) =
getRecords('salud', 'salud', [ 'author_az' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[0],'UTF-8')->title_proper() =~ m/la enfermedad laboral\^ies$/ &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[6],'UTF-8')->title_proper() =~ m/^Indicadores de resultados identificados/ &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[18],'UTF-8')->title_proper() eq 'World health statistics 2009^ien'
+ ok($results_hashref->{biblioserver}->{RECORDS}->[0]->title_proper() =~ m/la enfermedad laboral\^ies$/ &&
+ $results_hashref->{biblioserver}->{RECORDS}->[6]->title_proper() =~ m/^Indicadores de resultados identificados/ &&
+ $results_hashref->{biblioserver}->{RECORDS}->[18]->title_proper() eq 'World health statistics 2009^ien'
, "Simple ascending author sorting in getRecords matches old behavior");
( undef, $results_hashref, $facets_loop ) =
getRecords('salud', 'salud', [ 'author_za' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[0],'UTF-8')->title_proper() eq 'World health statistics 2009^ien' &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[12],'UTF-8')->title_proper() =~ m/^Indicadores de resultados identificados/ &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[18],'UTF-8')->title_proper() =~ m/la enfermedad laboral\^ies$/
+ ok($results_hashref->{biblioserver}->{RECORDS}->[0]->title_proper() eq 'World health statistics 2009^ien' &&
+ $results_hashref->{biblioserver}->{RECORDS}->[12]->title_proper() =~ m/^Indicadores de resultados identificados/ &&
+ $results_hashref->{biblioserver}->{RECORDS}->[18]->title_proper() =~ m/la enfermedad laboral\^ies$/
, "Simple descending author sorting in getRecords matches old behavior");
( undef, $results_hashref, $facets_loop ) =
getRecords('salud', 'salud', [ 'pubdate_asc' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[0],'UTF-8')->title_proper() eq 'Manual de higiene industrial^ies' &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[7],'UTF-8')->title_proper() =~ m/seguridad e higiene del trabajo\^ies$/ &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[18],'UTF-8')->title_proper() =~ m/^Indicadores de resultados identificados/
+ ok($results_hashref->{biblioserver}->{RECORDS}->[0]->title_proper() eq 'Manual de higiene industrial^ies' &&
+ $results_hashref->{biblioserver}->{RECORDS}->[7]->title_proper() =~ m/seguridad e higiene del trabajo\^ies$/ &&
+ $results_hashref->{biblioserver}->{RECORDS}->[18]->title_proper() =~ m/^Indicadores de resultados identificados/
, "Simple ascending publication date sorting in getRecords matches old behavior");
( undef, $results_hashref, $facets_loop ) =
getRecords('salud', 'salud', [ 'pubdate_dsc' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[0],'UTF-8')->title_proper() =~ m/^Estado de salud/ &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[7],'UTF-8')->title_proper() eq 'World health statistics 2009^ien' &&
- MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[18],'UTF-8')->title_proper() eq 'Manual de higiene industrial^ies'
+ ok($results_hashref->{biblioserver}->{RECORDS}->[0]->title_proper() =~ m/^Estado de salud/ &&
+ $results_hashref->{biblioserver}->{RECORDS}->[7]->title_proper() eq 'World health statistics 2009^ien' &&
+ $results_hashref->{biblioserver}->{RECORDS}->[18]->title_proper() eq 'Manual de higiene industrial^ies'
, "Simple descending publication date sorting in getRecords matches old behavior");
-} elsif ( $indexing_mode eq 'grs1' ){
- ( undef, $results_hashref, $facets_loop ) =
- getRecords('salud', 'salud', [], [ 'biblioserver' ], '19', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() =~ m/^Efectos del ambiente/ &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[7])->title_proper() eq 'Salud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies' &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() =~ m/^Indicadores de resultados identificados/
- , "Simple relevance sorting in getRecords matches old behavior");
-
- ( undef, $results_hashref, $facets_loop ) =
- getRecords('salud', 'salud', [ 'author_az' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() =~ m/la enfermedad laboral\^ies$/ &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[6])->title_proper() =~ m/^Indicadores de resultados identificados/ &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() eq 'World health statistics 2009^ien'
- , "Simple ascending author sorting in getRecords matches old behavior");
-
- ( undef, $results_hashref, $facets_loop ) =
- getRecords('salud', 'salud', [ 'author_za' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() eq 'World health statistics 2009^ien' &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[12])->title_proper() =~ m/^Indicadores de resultados identificados/ &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() =~ m/la enfermedad laboral\^ies$/
- , "Simple descending author sorting in getRecords matches old behavior");
-
- ( undef, $results_hashref, $facets_loop ) =
- getRecords('salud', 'salud', [ 'pubdate_asc' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() eq 'Manual de higiene industrial^ies' &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[7])->title_proper() =~ m/seguridad e higiene del trabajo\^ies$/ &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() =~ m/^Indicadores de resultados identificados/
- , "Simple ascending publication date sorting in getRecords matches old behavior");
-
- ( undef, $results_hashref, $facets_loop ) =
- getRecords('salud', 'salud', [ 'pubdate_dsc' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
- ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() =~ m/^Estado de salud/ &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[7])->title_proper() eq 'World health statistics 2009^ien' &&
- MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() eq 'Manual de higiene industrial^ies'
- , "Simple descending publication date sorting in getRecords matches old behavior");
-}
( undef, $results_hashref, $facets_loop ) =
getRecords('books', 'books', [ 'relevance' ], [ 'biblioserver' ], '20', 0, undef, \%branches, \%itemtypes, undef, 1);
- $record = MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0]);
+ $record = $results_hashref->{biblioserver}->{RECORDS}->[0];
is($record->title_proper(), 'Books', "Scan returned requested item");
is($record->subfield('100', 'a'), 2, "Scan returned correct number of records matching term");
# Time to test buildQuery and searchResults too.
@@ -578,12 +544,7 @@ if ( $indexing_mode eq 'dom' ) {
($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
is($results_hashref->{biblioserver}->{hits}, 19, "Weighted query returned correct number of results");
- if ($indexing_mode eq 'grs1') {
- is(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper(), 'Salud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies', "Weighted query returns best match first");
- } else {
- local $TODO = "Query weighting does not behave exactly the same in DOM vs. GRS";
- is(MARC::Record::new_from_xml($results_hashref->{biblioserver}->{RECORDS}->[0],'UTF-8')->title_proper(), 'Salud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies', "Weighted query returns best match first");
- }
+ is($results_hashref->{biblioserver}->{RECORDS}->[0]->title_proper(), 'Salud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies', "Weighted query returns best match first");
$QueryStemming = $QueryWeightFields = $QueryFuzzy = $QueryRemoveStopwords = 0;
$QueryAutoTruncate = 1;
@@ -914,12 +875,12 @@ sub run_unimarc_search_tests {
}
subtest 'MARC21 + GRS-1' => sub {
- plan tests => 104;
+ plan tests => 105;
run_marc21_search_tests('grs1');
};
subtest 'MARC21 + DOM' => sub {
- plan tests => 104;
+ plan tests => 105;
run_marc21_search_tests('dom');
};
--
1.9.1
More information about the Koha-patches
mailing list