From 5744cbd1a5df80fee42404a7d1cbbbf01b5c3ccf Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Tue, 17 Apr 2018 18:12:50 -0300
Subject: [PATCH] Bug 20599: Add the Koha::Subscription->vendor method
Test plan:
prove t/db_dependent/Koha/Subscription.t
must return green
---
Koha/Subscription.pm | 12 ++++++++++++
t/db_dependent/Koha/Subscription.t | 24 +++++++++++++++++++++---
2 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/Koha/Subscription.pm b/Koha/Subscription.pm
index 2a793e5946..d585ba829a 100644
--- a/Koha/Subscription.pm
+++ b/Koha/Subscription.pm
@@ -23,6 +23,7 @@ use Carp;
use Koha::Database;
use Koha::Biblios;
+use Koha::Acquisition::Booksellers;
use base qw(Koha::Object);
@@ -48,6 +49,17 @@ sub biblio {
return scalar Koha::Biblios->find($self->biblionumber);
}
+=head3 vendor
+
+Returns the vendor/supplier linked to this subscription as a Koha::Acquisition::Bookseller object
+
+=cut
+
+sub vendor {
+ my ($self) = @_;
+ return scalar Koha::Acquisition::Booksellers->find($self->aqbooksellerid);
+}
+
=head3 type
=cut
diff --git a/t/db_dependent/Koha/Subscription.t b/t/db_dependent/Koha/Subscription.t
index 46256d3b41..81c55636a5 100644
--- a/t/db_dependent/Koha/Subscription.t
+++ b/t/db_dependent/Koha/Subscription.t
@@ -19,15 +19,19 @@
use Modern::Perl;
-use Test::More tests => 1;
+use Test::More tests => 2;
-use Koha::Subscription;
+use Koha::Subscriptions;
use Koha::Biblio;
+use t::lib::TestBuilder;
+
my $schema = Koha::Database->new->schema;
$schema->storage->txn_begin;
-subtest 'Koha::Subscription::biblio' => sub {
+my $builder = t::lib::TestBuilder->new;
+
+subtest 'Koha::Subscription->biblio' => sub {
plan tests => 1;
my $biblio = Koha::Biblio->new()->store();
@@ -39,6 +43,20 @@ subtest 'Koha::Subscription::biblio' => sub {
is($b->biblionumber, $biblio->biblionumber, 'Koha::Subscription::biblio returns the correct biblio');
};
+subtest 'Koha::Subscription->vendor' => sub {
+ plan tests => 2;
+ my $vendor = $builder->build( { source => 'Aqbookseller' } );
+ my $subscription = $builder->build(
+ {
+ source => 'Subscription',
+ value => { aqbooksellerid => $vendor->{id} }
+ }
+ );
+ my $object = Koha::Subscriptions->find( $subscription->{subscriptionid} );
+ is( ref($object->vendor), 'Koha::Acquisition::Bookseller', 'Koha::Subscription->vendor should return a Koha::Acquisition::Bookseller' );
+ is( $object->vendor->id, $subscription->{aqbooksellerid}, 'Koha::Subscription->vendor should return the correct vendor' );
+};
+
$schema->storage->txn_rollback;
1;
--
2.11.0