From 3f46ec652b7f88acfba73db0ab66dcc69d2d05b3 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Mon, 12 Jun 2017 13:01:14 +0200 Subject: [PATCH] Bug 18785: Add the Koha::Subscription->biblio method Signed-off-by: Jonathan Druart Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart --- Koha/Subscription.pm | 13 +++++++++ t/db_dependent/Koha/Subscription.t | 44 ++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 t/db_dependent/Koha/Subscription.t diff --git a/Koha/Subscription.pm b/Koha/Subscription.pm index 332a01839a..0398763787 100644 --- a/Koha/Subscription.pm +++ b/Koha/Subscription.pm @@ -22,6 +22,7 @@ use Modern::Perl; use Carp; use Koha::Database; +use Koha::Biblios; use base qw(Koha::Object); @@ -35,6 +36,18 @@ Koha::Subscription - Koha Subscription Object class =cut +=head3 biblio + +Returns the biblio linked to this subscription as a Koha::Biblio object + +=cut + +sub biblio { + my ($self) = @_; + + return Koha::Biblios->find($self->biblionumber); +} + =head3 type =cut diff --git a/t/db_dependent/Koha/Subscription.t b/t/db_dependent/Koha/Subscription.t new file mode 100644 index 0000000000..46256d3b41 --- /dev/null +++ b/t/db_dependent/Koha/Subscription.t @@ -0,0 +1,44 @@ +#!/usr/bin/perl + +# Copyright 2016 Koha Development team +# +# This file is part of Koha +# +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . + +use Modern::Perl; + +use Test::More tests => 1; + +use Koha::Subscription; +use Koha::Biblio; + +my $schema = Koha::Database->new->schema; +$schema->storage->txn_begin; + +subtest 'Koha::Subscription::biblio' => sub { + plan tests => 1; + + my $biblio = Koha::Biblio->new()->store(); + my $subscription = Koha::Subscription->new({ + biblionumber => $biblio->biblionumber, + })->store(); + + my $b = $subscription->biblio; + is($b->biblionumber, $biblio->biblionumber, 'Koha::Subscription::biblio returns the correct biblio'); +}; + +$schema->storage->txn_rollback; + +1; -- 2.39.5