cffb47ac5d
- add a class SharedContent.pm to communicate with Mana-KB server - add a link in serials-menu.inc to serials_search.pl to open a mana-subscription research form - modify the research form in serials-search.tt to show the right fields for Mana-KB - create datatable in mana-subscription-search-result.inc to show results from a research on Mana-KB - modify serials-search.pl to manage research on Mana-KB - add a mana_id to subscription table - add a share button on serials-toolbar.inc and a modal to ask the language of the share and to alert if the subscription is already link to a Mana-KB subscription model - add function in C4/Serials to get all the info for a subscription sharing - modify subscription-detail.pl to manage sharing to Mana-KB - modify subscription-add.tt and subscription.pl to manage a import from Mana-KB during a subscription creation - add 2 script in svc for ajax calling from subscription-add.tt to communicate with Mana-KB server during a asubscription creation - add a function in Subscription.pm to have all the info for a Mana-KB research from a biblionumber - modify functions used by subscription-add.pl in C4/Serials to manage a frequency which came from Mana-KB server and not already created on the koha database, and modify the tests of the said functions Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Rebased-by: Alex Arnaud <alex.arnaud@biblibre.com> (2018-07-04) Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
126 lines
3.6 KiB
Perl
126 lines
3.6 KiB
Perl
#!/usr/bin/perl
|
|
|
|
use C4::Context;
|
|
use Test::More tests => 18;
|
|
use Modern::Perl;
|
|
|
|
my $dbh = C4::Context->dbh;
|
|
$dbh->{RaiseError} = 1;
|
|
$dbh->{AutoCommit} = 0;
|
|
|
|
use C4::Serials::Frequency;
|
|
use C4::Serials;
|
|
|
|
# TEST CASE - 1 issue per day, no irregularities
|
|
my $frequency = {
|
|
description => "One issue per day",
|
|
unit => 'day',
|
|
issuesperunit => 1,
|
|
unitsperissue => 1,
|
|
};
|
|
|
|
my $subscription = {
|
|
firstacquidate => '1970-01-01',
|
|
irregularity => '',
|
|
countissuesperunit => 1,
|
|
};
|
|
my $issueNumber;
|
|
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
|
|
is( $issueNumber, '1' );
|
|
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
|
|
is( $issueNumber, '2' );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-03', $frequency );
|
|
is( $issueNumber, '3' );
|
|
|
|
# TEST CASE - 2 issues per day, no irregularity
|
|
$frequency = {
|
|
description => "Two issues per day",
|
|
unit => 'day',
|
|
issuesperunit => 2,
|
|
unitsperissue => 1,
|
|
};
|
|
$subscription = {
|
|
firstacquidate => '1970-01-01',
|
|
irregularity => '',
|
|
countissuesperunit => 1,
|
|
};
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
|
|
is( $issueNumber, '1' );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
|
|
is( $issueNumber, '3' );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-03', $frequency );
|
|
is( $issueNumber, '5' );
|
|
|
|
$subscription->{countissuesperunit} = 2;
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
|
|
is( $issueNumber, '2' );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
|
|
is( $issueNumber, '4' );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-03', $frequency );
|
|
is( $issueNumber, '6' );
|
|
|
|
# TEST CASE - 1 issue every 2 days, no irregularity
|
|
$frequency = {
|
|
description => "one issue every two days",
|
|
unit => 'day',
|
|
issuesperunit => 1,
|
|
unitsperissue => 2,
|
|
};
|
|
$subscription = {
|
|
firstacquidate => '1970-01-01',
|
|
irregularity => '',
|
|
countissuesperunit => 1,
|
|
};
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
|
|
is( $issueNumber, 1 );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
|
|
is( $issueNumber, 1 );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-03', $frequency );
|
|
is( $issueNumber, 2 );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-04', $frequency );
|
|
is( $issueNumber, 2 );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-05', $frequency );
|
|
is( $issueNumber, 3 );
|
|
|
|
# TEST CASE - 1 issue per week, no irregularity
|
|
$frequency = {
|
|
description => "one issue per week",
|
|
unit => 'week',
|
|
issuesperunit => 1,
|
|
unitsperissue => 1,
|
|
};
|
|
$subscription = {
|
|
firstacquidate => '1970-01-01',
|
|
irregularity => '',
|
|
countissuesperunit => 1,
|
|
};
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-01', $frequency );
|
|
is( $issueNumber, 1 );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-02', $frequency );
|
|
is( $issueNumber, 1 );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-08', $frequency );
|
|
is( $issueNumber, 2 );
|
|
$issueNumber =
|
|
C4::Serials::GetFictiveIssueNumber( $subscription, '1970-01-15', $frequency );
|
|
is( $issueNumber, 3 );
|
|
|
|
$dbh->rollback;
|