@@ -, +, @@ --- t/db_dependent/Koha/SharedContent.t | 29 ++++++++++ t/db_dependent/Koha/Subscription.t | 111 ++++++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 t/db_dependent/Koha/SharedContent.t create mode 100644 t/db_dependent/Koha/Subscription.t --- a/t/db_dependent/Koha/SharedContent.t +++ a/t/db_dependent/Koha/SharedContent.t @@ -0,0 +1,29 @@ +#!/usr/bin/perl + +# Copyright 2016 BibLibre Morgane Alonso +# +# 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 t::lib::TestBuilder; +use Test::More tests => 1; +use Koha::Database; + +use_ok('Koha::SharedContent'); + +my $schema = Koha::Database->new->schema; +$schema->storage->txn_begin; # mode insertion --- a/t/db_dependent/Koha/Subscription.t +++ a/t/db_dependent/Koha/Subscription.t @@ -0,0 +1,111 @@ +#!/usr/bin/perl + +# Copyright 2016 BibLibre Morgane Alonso +# +# 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 t::lib::TestBuilder; +use Test::More tests => 6; +use Koha::Database; +use Koha::Subscriptions; +use Koha::Biblios; + +use_ok('Koha::Subscription'); + +my $schema = Koha::Database->new->schema; +$schema->storage->txn_begin; +my $builder = t::lib::TestBuilder->new; + +my $nb_of_subs = Koha::Subscriptions->search->count; +my $biblio_1 = $builder->build( { source => 'Biblio' } ); +my $bi_1 = $builder->build( + { + source => 'Biblioitem', + value => { + biblionumber => $biblio_1->{biblionumber} + } + } +); +my $sub_freq_1 = $builder->build( { source => 'SubscriptionFrequency' } ); +my $sub_np_1 = $builder->build( { source => 'SubscriptionNumberpattern' } ); +my $sub_1 = $builder->build( + { + source => 'Subscription', + value => { + biblionumber => $biblio_1->{biblionumber}, + periodicity => $sub_freq_1->{id}, + numberpattern => $sub_np_1->{id} + } + } +); + +is( + Koha::Subscriptions->search->count, + $nb_of_subs + 1, + 'The subscription should have been added' +); +is( + $sub_1->{biblionumber}, + $biblio_1->{biblionumber}, + 'The link between sub and biblio is well done' +); +is( $sub_1->{periodicity}, $sub_freq_1->{id}, + 'The link between sub and sub_freq is well done' ); +is( $sub_1->{numberpattern}, + $sub_np_1->{id}, + 'The link between sub and sub_numberpattern is well done' ); + +my $ref = { + 'title' => $biblio_1->{title}, + 'notes' => $sub_1->{notes}, + 'sfdescription' => $sub_freq_1->{description}, + 'displayorder' => $sub_freq_1->{displayorder}, + 'unit' => $sub_freq_1->{unit}, + 'unitsperissue' => $sub_freq_1->{unitsperissue}, + 'issuesperunit' => $sub_freq_1->{issuesperunit}, + 'sndescription' => $sub_np_1->{description}, + 'numberingmethod' => $sub_np_1->{numberingmethod}, + 'label1' => $sub_np_1->{label1}, + 'add1' => $sub_np_1->{add1}, + 'every1' => $sub_np_1->{every1}, + 'whenmorethan1' => $sub_np_1->{whenmorethan1}, + 'setto1' => $sub_np_1->{setto1}, + 'numbering1' => $sub_np_1->{numbering1}, + 'label2' => $sub_np_1->{label2}, + 'add2' => $sub_np_1->{add2}, + 'every2' => $sub_np_1->{every2}, + 'whenmorethan2' => $sub_np_1->{whenmorethan2}, + 'setto2' => $sub_np_1->{setto2}, + 'numbering2' => $sub_np_1->{numbering2}, + 'label3' => $sub_np_1->{label3}, + 'add3' => $sub_np_1->{add3}, + 'every3' => $sub_np_1->{every3}, + 'whenmorethan3' => $sub_np_1->{whenmorethan3}, + 'setto3' => $sub_np_1->{setto3}, + 'numbering3' => $sub_np_1->{numbering3}, + 'issn' => $bi_1->{issn}, + 'ean' => $bi_1->{ean}, + 'publishercode' => $bi_1->{publishercode} +}; + +is_deeply( Koha::Subscription::get_sharable_info( $sub_1->{subscriptionid} ), + $ref, "get_sharable_info function is ok" ); + +$schema->storage->txn_rollback; + +1; --