Bug 22455: Unit tests
authorTomas Cohen Arazi <tomascohen@theke.io>
Tue, 5 Mar 2019 14:00:31 +0000 (11:00 -0300)
committerNick Clemens <nick@bywatersolutions.com>
Wed, 13 Mar 2019 05:31:32 +0000 (05:31 +0000)
Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

t/db_dependent/Koha/Biblio.t

index 281ad65..72c06e0 100644 (file)
@@ -17,7 +17,9 @@
 
 use Modern::Perl;
 
-use Test::More tests => 3;
+use Test::More tests => 4;
+
+use t::lib::TestBuilder;
 
 use C4::Biblio;
 use Koha::Database;
@@ -27,7 +29,8 @@ BEGIN {
     use_ok('Koha::Biblios');
 }
 
-my $schema = Koha::Database->new->schema;
+my $schema  = Koha::Database->new->schema;
+my $builder = t::lib::TestBuilder->new;
 
 subtest 'metadata() tests' => sub {
 
@@ -55,3 +58,31 @@ subtest 'metadata() tests' => sub {
 
     $schema->storage->txn_rollback;
 };
+
+subtest 'hidden_in_opac() tests' => sub {
+
+    plan tests => 3;
+
+    $schema->storage->txn_begin;
+
+    my $biblio = $builder->build_sample_biblio();
+    my $item_1 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber });
+    my $item_2 = $builder->build_sample_item({ biblionumber => $biblio->biblionumber });
+
+    $item_1->withdrawn( 1 )->store->discard_changes;
+    $item_2->withdrawn( 1 )->store->discard_changes;
+
+    ok( !$biblio->hidden_in_opac({ rules => { withdrawn => [ 2 ] } }), 'Biblio not hidden' );
+
+    $item_2->withdrawn( 2 )->store->discard_changes;
+    $biblio->discard_changes; # refresh
+
+    ok( !$biblio->hidden_in_opac({ rules => { withdrawn => [ 2 ] } }), 'Biblio not hidden' );
+
+    $item_1->withdrawn( 2 )->store->discard_changes;
+    $biblio->discard_changes; # refresh
+
+    ok( $biblio->hidden_in_opac({ rules => { withdrawn => [ 2 ] } }), 'Biblio hidden' );
+
+    $schema->storage->txn_rollback;
+};