From: Nick Clemens Date: Mon, 3 Apr 2023 13:15:24 +0000 (+0000) Subject: Bug 29234: Further clean Z3950 Tests X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=commitdiff_plain;p=koha-ffzg.git Bug 29234: Further clean Z3950 Tests We are deleting all authorised values in Session2.t and assuming they don't exist in Sesson.t This patch ensures the tests will work regardless of data in DB Signed-off-by: Tomas Cohen Arazi --- diff --git a/t/db_dependent/Koha/Z3950Responder/Session.t b/t/db_dependent/Koha/Z3950Responder/Session.t index 48ef6d960f..f6e7c65f95 100755 --- a/t/db_dependent/Koha/Z3950Responder/Session.t +++ b/t/db_dependent/Koha/Z3950Responder/Session.t @@ -54,6 +54,10 @@ subtest 'add_item_status' => sub { my $item_field_2 = scalar $item_marc_2->field($itemtag); ## END SECOND ITEM ## + # We want to test the default values, so we remove custom status alias if present + my $available = Koha::AuthorisedValues->find({ category => 'Z3950_STATUS', authorised_value => 'AVAILABLE' }); + $available->delete if $available; + # Create the responder my $args={ PEER_NAME => 'PEER'}; my $zR = Koha::Z3950Responder->new({add_item_status_subfield => 'k'}); diff --git a/t/db_dependent/Koha/Z3950Responder/Session2.t b/t/db_dependent/Koha/Z3950Responder/Session2.t index 1a6ac035ff..5912d8ff2f 100755 --- a/t/db_dependent/Koha/Z3950Responder/Session2.t +++ b/t/db_dependent/Koha/Z3950Responder/Session2.t @@ -5,6 +5,7 @@ use Test::More tests => 3; use t::lib::TestBuilder; use C4::Items qw( GetMarcItem ); +use Koha::AuthorisedValues; use Koha::Caches; BEGIN { @@ -25,23 +26,32 @@ subtest 'add_item_status' => sub { plan tests => 2; # This time we are sustituting some values - $builder->schema->resultset( 'AuthorisedValue' )->delete_all(); - $builder->build({ - source => 'AuthorisedValue', - value => { - category => 'Z3950_STATUS', - authorised_value => 'AVAILABLE', - lib => "Free as a bird" - } - }); - $builder->build({ - source => 'AuthorisedValue', - value => { - category => 'Z3950_STATUS', - authorised_value => 'DAMAGED', - lib => "Borked completely" - } - }); + + my $available = Koha::AuthorisedValues->find({ category => 'Z3950_STATUS', authorised_value => 'AVAILABLE' }); + unless( $available ){ + $available = $builder->build_object({ + class => 'Koha::AuthorisedValues', + value => { + category => 'Z3950_STATUS', + authorised_value => 'AVAILABLE', + lib => "Free as a bird" + } + }); + } + my $available_status = $available->lib; + + my $damaged = Koha::AuthorisedValues->find({ category => 'Z3950_STATUS', authorised_value => 'DAMAGED' }); + unless( $damaged ){ + $damaged = $builder->build_object({ + class => 'Koha::AuthorisedValues', + value => { + category => 'Z3950_STATUS', + authorised_value => 'DAMAGED', + lib => "Borked completely" + } + }); + } + my $damaged_status = $damaged->lib; ## FIRST ITEM HAS ALL THE STATUSES ## my $item_1 = $builder->build_sample_item( @@ -81,10 +91,10 @@ subtest 'add_item_status' => sub { $zR->init_handler($args); $args->{HANDLE}->add_item_status($item_field_1); - is($item_field_1->subfield('k'),"Checked Out, Lost, Not for Loan, Borked completely, Withdrawn, In Transit, On Hold","All statuses added in one field as expected"); + is($item_field_1->subfield('k'),"Checked Out, Lost, Not for Loan, $damaged_status, Withdrawn, In Transit, On Hold","All statuses added in one field as expected"); $args->{HANDLE}->add_item_status($item_field_2); - is($item_field_2->subfield('k'),'Free as a bird',"Available status is 'Free as a bird' added as expected"); + is($item_field_2->subfield('k'),"$available_status","Available status is '$available_status' added as expected"); };