Commit Graph

612 Commits

Author SHA1 Message Date
Jonathan Druart a899e1b683 Bug 11912: (follow-up) Use the common way to mock syspref
t::lib::Mocks::mock_preference provides a simple way to mock syspref.

Test plan:
Verify that t/db_dependent/Biblio.t returns green.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit c5f8bf244b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 11a890df5a)
2014-08-13 14:25:49 -04:00
Tomas Cohen Arazi dc196fd01b Bug 11912: (refactoring followup) make GetMarcISBN implement its advertised API
The current implementation of GetMarcISBN contradicts the documented API.
It currently returns an array of hashes with only one key (marcisbn)
which doesn't add any value to it.

I chose to fix GetMarcISBN to honour the API instead of changing thex
 docs, because it seems a really silly change.

To test:
- Run:
  prove t/db_dependent/Biblio.t
=> SUCCESS
- catalogue/detail.pl should correctly show ISBNs.
- opac/opac-detail.pl should correctly show ISBNs in both prog and bootstrap.
- opac-opac-sendshelf.pl should correctly show ISBNs in the email.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 774483772b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2014-08-13 14:25:20 -04:00
Tomas Cohen Arazi 5af5298a44 Bug 11912: (regression tests) GetMarcISBN wrongly prepends a space to ISBNs
This patch makes the tests run in both MARC21 and UNIMARC contexts.
It previously run only for MARC21. It mocks what needs to be mocked.

To test, run
 - prove t/db_dependent/Biblio.t
=> Notice the first ISBN has a space in front of it and those tests fails.

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit da7dd4ed8c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit f09c5a0876)
2014-08-13 14:23:46 -04:00
Kyle M Hall 8a975f8d30 Bug 11258: fix another case where holds queue made transfer requests that contradict the library holds policy
This patch fixes a problem where the holds queue generator
was making requests where the pickup library is the
same as the item's library but not the patron's branch,
even if there is a "Default holds policy by item type" rule that states
this item can only fill holds for patrons of the same library as the
item.

Test Plan:
1) Create a test record with 2 items with different itemtypes
2) Set the Default holds policy by item type for the first
   item to "From any library"
3) Set the Default holds policy by item type for the second
   item to "From home library"
4) Place a record level hold for a patron from another library,
   but for pickup at the same library as the item is from
5) Rebuild the holds queue
6) View the holds queue, note the item is listed, though this
   patron cannot place a hold on this item
7) Apply this patch
8) Repeat step 5, note the hold is no longer in the queue

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
automated tests pass, functional tests pass. Bug replicated, eradicated by patch.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I finally managed to reproduce this, patch works as described.
Passes tests and QA script, provided tests fail without patch, but
succeed with the patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 7966037747)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2014-08-13 10:30:02 -04:00
Galen Charlton 9ee1e66e66 Bug 12079: ensure that CheckReserves() includes reserve_id in its response
This patch modifies _Findgroupreserve so that its one caller,
CheckReserves(), would include the reserve_id field in the
hold request it returns.

Failure to include reserve_id in every circumstance resulted
in bug 11947.  This patch is therefore a complementary fix for
that bug, but is not meant to preempt the direct fix for
that bug.

To test:

[1] Verify that t/db_dependent/Reserves.t passes.
[2] Verify that the following test plan taken from
    the patch for bug 11947 works for this patch
    *without* applying the patch for 11947:

* have a few borrowers, say 4.
* have a biblio with a single item (you can scale this up, it should
  work just the same.)
* issue the item to borrower A
* have borrowers B, C, and D place a hold on the item
* return the item, acknowledge that it'll be put aside for B.
* view the holds on the item.

Without the patch:
* the hold priorities in the UI end up being "waiting, 2, 1" when they
  should be "waiting, 1, 2".
* in the database "reserves" table, they're really "0, 2, 3" when they
  should be "0, 1, 2".

With the patch:
* the hold priorities in the UI end up being "waiting, 1, 2"
* in the database, they're "0, 1, 2"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Work as described. No koha-qa errors. Test pass

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 695fdebdee)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 71efba2304)
2014-08-13 09:25:40 -04:00
Galen Charlton dcf7b425ab Bug 11934: (follow-up) tidy up whitespace
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 3a99c0441a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit f4a717106d)
2014-06-13 08:43:31 -04:00
Nicolas Legrand f9635730a3 Bug 11934 - Replace given by if-else statements
To test:

[1] Verify that prove -v t/db_dependent/Circulation_issuingrules.t
    passes.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
replaces given-when with if-elsif-else constructs.
Tests still pass and code looks good.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 12df62ca33)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit e4c1de744b)
2014-06-13 08:43:16 -04:00
Jonathan Druart f9ba7383dc Bug 10611: Use mysql_auto_reconnect instead of ping
DBD::Mysql provides a mysql_auto_reconnect flag. Using it avoids
the time required to do a $dbh->ping().

Benchmarks:

use Modern::Perl;
use C4::Context;
for ( 1 .. 1000 ) {
    $dbh = C4::Context->dbh;
}

* without this patch on a local DB:
perl t.pl  0,49s user 0,02s system 98% cpu 0,525 total
* without this patch on a remote DB:
perl t.pl  0,52s user 0,05s system 1% cpu 37,358 total
* with this patch on a local DB:
perl t.pl  0,46s user 0,04s system 99% cpu 0,509 total
* with this patch on a remote DB:
perl t.pl  0,49s user 0,02s system 56% cpu 0,892 total

Testing the auto reconnect:
use Modern::Perl;
use C4::Context;
my $ping = $dbh->ping;
say $ping;
$dbh->disconnect;
$ping = $dbh->ping;
say $ping;

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Real improvement. No koha-qa errors

prove t/db_dependent/Circulation_issuingrules.t produces no error
prove t/db_dependent/Context.t produces no error

Test
1) dumped Koha DB, load it on a non-local server
2) run sample script whit and without patch, local and remote

use Modern::Perl;
use C4::Context;
for ( 1 .. 100000 ) {
    my $dbh = C4::Context->dbh;
}

Main difference I note is with remote server
a) without patch
real    0m16.357s
user    0m2.592s
sys     0m2.132s

b) with patch
real    0m0.259s
user    0m0.240s
sys     0m0.012s

I think this could be good for DBs placed on
remote servers

Bug 10611: add a "new" parameter to C4::Context->dbh

When dbh->disconnect is called and the mysql_auto_reconnect flag is set,
the dbh is not recreated: the old one is used.

Adding a new flag, we can now force the C4::Context->dbh method to
return a new dbh.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Bug 10611: Followup: remove useless calls to dbh->disconnect

These 3 calls to disconnect are done at the end of the script, they are
useless.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 4ae3665ad8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Conflicts:
	C4/Context.pm

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 82f5b527d8)
2014-06-06 07:18:51 -04:00
Galen Charlton 384c7c47d4 Bug 11439: (follow-up) adjust for change in list returned by OCLC XISBN
The set of related ISBNs for the first Harry Potter book returned
by OCLC's XISBN service has changed recently, so this patch adjusts
the test to match.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 6e21422d00)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-02-07 14:07:48 -03:00
Tomas Cohen Arazi e3a0cbc1ac Bug 11540: (follow-up) add a couple of tests more
This patch makes sure all scenarios are covered for SetUTF8Flag.

Signed-off-by: Emma Heath <emmaheath.student@wegc.school.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0db732980a)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-02-07 12:48:11 -03:00
Emma Heath 8e08bcae90 Bug 11540: increase test coverage of Charset.pm
To test
1. run prove t/Charset.t
2. apply patch
3. run prove t/Charset.t
 notice more tests are run

Signed-off-by: Tom Houlker <thomas.houlker@hibs.school.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tests pass!

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 6a6df3f5d7)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-02-07 12:47:49 -03:00
Galen Charlton afec6faccc Bug 11402: (follow-up) add one more unit test
This test exercise the case where defined parameters
are passed to the _guide_box() routine.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 7d01e61cdf)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit ef6eeba806)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-02-07 12:39:30 -03:00
Tomas Cohen Arazi e1b1dceabb Bug 11402: make Labels::_guide_box return undef if undefned data is passed
That's it. A guide box cannot be created if invalid data is passed.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script, includes new unit tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 4720cbc414)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit c129755ce4)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-02-07 12:39:17 -03:00
Jonathan Druart 59d3dcb508 Bug 11279: (follow-up) remove unnecessary check on number of quotes
It is not necessary to process the case where the number of quotes
is just one, as int(rand(1)) will always produce 0, which is a valid
offset.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 8ee6e4290e)
(cherry picked from commit bff4fac7b7)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-02-07 12:13:03 -03:00
Katrin Fischer cc71930a84 Bug 11279: regression test for picking random quote
This patch adds new tests based on the db_dependent tests in
t/db_dependent/Koha.t for GetDailyQuote().

Tests run on an empty database and don't require Test::Deep.

Tests will fail before applying the patch for 11297, but will
pass after applying the patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit f874eec079)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit 252051df73)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-02-07 12:11:33 -03:00
Galen Charlton e3bf3e4521 Bug 7518: regression test double-quote in search operand
Under certain circumstances, namely where QueryParser is off,
QueryWeightFields is on, and QueryFuzzy and QueryAutoTruncate are
off, a search with a double-quote embedded in it can fail: for
example

    web application

would return results where

    web "application

does not.

This patch adds an automated regression test.

To test:

[1] Apply this patch and run prove -v t/db_dependent/Search.t;
    two tests should fail.
[2] After applying the main patch that fixes the bug, the
    prove -v  t/db_dependent/Search.t should succeed.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 437f066247)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit 895f989dca)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Fixed some conflicts, the tests are they same overall.
2014-02-07 12:08:50 -03:00
Jonathan Druart f4285b4955 Bug 11439: UT: Improve XISBN.t
The tests should be executed into a transaction and the SimpleSearch
routine correctly mocked.

Test plan:
Verify that prove t/db_dependent/XISBN.t returns green.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 0d71139fff)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Cleaned stuff not for 3.12.x and added the rollback call at the end.
2014-01-09 15:37:23 -03:00
Jonathan Druart c982bcfe90 Bug 11439: UT: fix XISBN.t test failure
A unit test fails in t/db_dependent/XISBN.t, the get_xisbn routine, if
ThingISBN is enabled, returns the 3rd biblionumber, not the second one.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 81133cf2c2)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-01-09 15:30:56 -03:00
Fridolyn SOMERS 8457d4c04e Bug 9728: XISBN unit test update
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit b0941f9058)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Grabbed just the XISBN unit test updates.
2014-01-09 15:30:35 -03:00
Kyle M Hall 13a5d7b14b Bug 10243: (follow-up) add unit tests
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit e74b91165d)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-12-05 15:04:17 -03:00
Galen Charlton 6238015a7a Bug 10271: regression test for search using indexes containing 'ns'
This patch adds a regression test for doing a form-based catalog
search using an index that contains the string 'ns' in its name.  In
this case, the index being tested is 'Code-institution'.

To test
-------
[1] Prove -v t/db_dependent/Search.t should have two failed tests;
    one each for GRS-1 and DOM testing.
[2] After applying the main patch for this bug, the tests should
    pass.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 935ed2876b)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-12-05 14:55:34 -03:00
Jonathan Druart 9a807414d4 Bug 10843: fix crash that can occur when confirming hold if ReservesMaxPickUpDelay is undefined
Test plan:
1) set an empty string for the ReservesMaxPickUpDelay pref
2) place a hold on an item
3) check in the item
4) click on "Print and confirm"
5) an error occurs
> The 'days' parameter (undef) to DateTime::Duration::new was an 'undef'
6) apply the patch
7) repeat steps 1 to 4
8) the error does not occur anymore.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
An empty string didn't do it for me, I had to set the
variable for the systempreference to NULL. I am not sure
if this can happen when editing from the interface, but
this change should not have any ill side effects and it has
unit tests!

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit a9b564678e)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Adjusted some bits.
2013-12-03 15:42:12 -03:00
Jonathan Druart 58d58510d0 Bug 10298: Mock C4::Context->preference
t::lib::Mocks::Context tried to deal with preferences but did not manage
to.

This patch removes this module and add 2 routines in t::lib::Mocks in
order to mock C4::context->preference and C4::Context->config.

To test:

===START t/test.pl===

use Modern::Perl;
use t::lib::Mocks;
use C4::Context;

say "initial value for version: " . C4::Context->preference('Version');
say "initial value for language: " . C4::Context->preference('language');
t::lib::Mocks::mock_preference('Version', "new version for testing");
say "version is mocked with: " . C4::Context->preference('Version');
say "language is not yet mocked: " . C4::Context->preference('language');
t::lib::Mocks::mock_preference('language', 'new langage for testing');
t::lib::Mocks::mock_preference('Version', 'another version for testing');
say "version is mocked with another value: " . C4::Context->preference('Version');
say "language is finally mocked: " . C4::Context->preference('language');
===END===

Try to execute this file and check that the output is consistent.

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit eb90241c79)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-12-03 15:35:18 -03:00
Jonathan Druart 9ffad2ccda Bug 10298: Followup: Adapt existing code
This unit tests file does not need the t::lib::Mocks::Context module.

To test:

prove t/db_dependent/Circulation_issuingrules.t

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, test checks out.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit a765d5f88e)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-12-03 15:19:47 -03:00
Galen Charlton 82eb608a95 Bug 10535: (follow-up) wrap Budgets.t in transaction
This patch also temporarily removes any existing
budgets to avoid issues where tests can fail if there
is already an active budget in the database.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 969669bb1e)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-12-03 12:30:48 -03:00
Galen Charlton b36aeb172d Bug 10535: (follow-up) add test case
This adds a test case for the new default sort
order for GetBudgets().

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 5a384cc643)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-12-03 12:30:04 -03:00
Galen Charlton ccab3f04c3 bug 6201: (follow-up) update unit tests
This patch updates the unit tests for the BibTeX export
to add a regression test for supplying the author for
non-UNIMARC records.  It also adjusts the test to reflect
the change in quote character from "" to {}.

To test:

[1] Verify that prove -v t/db_dependent/Record.t passes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit d88e15acfb)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-12-02 15:06:28 -03:00
Galen Charlton 47f8ca876d Bug 10684: add regression test
This patch adds a regression test for Koha's ability
to gracefully handle records that Zebra will index but
which MARC::Record won't parse.  In particular, MARC::File::USMARC
croaks on records that contain non-alphanumeric characters in the
tag name.

To test:

[1] After applying this test, run prove -v t/db_dependent/Search.t
    The test script will die when it gets to the regression test.
[2] After applying the main patches that fix the bug, the test
    script should pass.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 7e6364baee)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-21 10:13:02 -03:00
Galen Charlton 52e0b599fd Bug 10016: force zero browser-side caching of SCO pages
This patch makes the web-based self-check module pages
specify that no browser (or proxy caching) occur at all.
This prevents a security issue where letting the SCO session time out,
then hitting the back button allowed one to view the previous
patron's session.

This patch adds an optional fifth parameter to output_with_http_headers(),
and output_html_with_http_headers(), a hashref for miscellaneous
options.  One key is defined at the moment: force_no_caching, which if
if present and set to a true value, sets HTTP headers to specify no
browser caching of the page at all.

To test:

[1] Start a web-based self-check session and optionally perform
    some transactions.
[2] Allow the session to time out (it may be helpful to set
    SelfCheckTimeout to a low value such as 10 seconds).
[3] Hit the back button.  You should not see the previous patron's
    self-check session.
[4] Verify that prove -v t/Output.t passes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Ed Veal <ed.veal@bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 7b165794cd)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-20 10:57:39 -03:00
Galen Charlton 149890acf6 Bug 10689: add regression test
This adds a test to verify that the public subscription
note is returned by a subscription search.

To test:

[1] Verify that t/db_dependent/Bookseller.t passes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit f17fab3ed9)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-19 14:53:15 -03:00
Galen Charlton 748c14eac1 Bug 11218: (follow-up) fix whitespace
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 87470f394a)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-18 14:22:02 -03:00
Katrin Fischer 0aa2a4346c Bug 11218: (follow-up) fix some whitespace and a variable declaration
Fixing some things the QA script pointed out this morning:

- whitespace
- variable declaration

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 1528a6deda)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-18 14:22:02 -03:00
Katrin Fischer 361bc49390 Bug 11218: Regression tests for Due notice generation
Changes tests for GetUpcomingDueIssues:

days_in_advance should be inclusive:
 2 should find items due in 2 days from now.
 1 should find items due tomorrow.
 0 should only find items due today.

Adds new tests for Bug 11218:

As the advance_notices.pl, the only script using GetUpcomingDueIssues
is not only used for PREDUE notices, but also for
DUE notices, we need to also select items due today.

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Rebased for 3.12.x
2013-11-18 14:21:47 -03:00
Tomas Cohen Arazi 1f9f3e25a2 Bug 10663: (3.12.x followup) Rewrite some calls as unit tests rely on newer API
Some tests fail in t/db_dependent/Circulation.t because of API difference.
This patch is a followup for 3.12.x.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
2013-11-13 13:52:54 -03:00
Tomas Cohen Arazi b78dd5aeaa Bug 10872: UT for GetHiddenItemnumbers and POD fix
This patch adds several unit tests for GetHiddenItemnumbers and fixes the POD for it.
It also wraps the tests for rollback, modernizes and adds a license text to it.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 5d8ad73929)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
"Fixed" 'wthdrawn' column name for 3.12.x
2013-11-11 10:37:00 -03:00
Galen Charlton a461452de2 Bug 10897: remove test for module that has become DB-dependent
This is an alternative appraoch to fixing this bug; as the
compilation test for C4::ILSDI::Services also resides
in t/db_dependent/ILSDI_Services.t, we don't need t/ILSDI_Services.t
at present.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit dcbe50cde8)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-08 15:23:28 -03:00
Galen Charlton 4565a96085 Bug 10667: (follow-up) fix reference to UT library in test case
This patch prevents a spurious test case failure if the
test database happens to already have a library whose
code is 'UT'.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 2a8481a5e2)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-08 15:18:57 -03:00
Katrin Fischer cb988890cd Bug 10667: Follow up - prevent t/00-load from failing
To test:
- Apply first 2 patches for unit tests and changes to Services.pm
- Turn off mysql
- Run t/00-load.t
- Verify that the test fails.
- Apply this third patch.
- Run t/00-load.t again.
- Verify this time it passes.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Work well, no koha-qa errors.

Without third patch and mysql down, test fails,
with third patch it succeed.
Signed-off-by: Mason James <mtj@kohaaloha.com>

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 8e0c21cf38)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-08 15:18:43 -03:00
Katrin Fischer 453a9ccae2 Bug 10667: Allow authentication with cardnumber for ILS-DI
Test authentication via ILS-DI:
- with userid and password
- with userid and wrong password
- with cardnumber and password
- with cardnumber and wrong password
...

Before the patch only userid will authenticate the patron.
After the patch was applied, userid and cardnumber will work.

To test:
- Run t/db_dependent/ILSDI_Services.t - all tests should pass.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No koha-qa errors

Test:
Enable ISL-DI
access opac with /cgi-bin/koha/ilsdi.pl?service=AuthenticatePatron&username=XXX&password=YYY
With userid/cardnumber & password returns borrowernumber
With userid/cardnumber & wrong password returns PatronNotFound
Signed-off-by: Mason James <mtj@kohaaloha.com>

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit ddb67e3237)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-08 15:17:37 -03:00
Katrin Fischer 1f9c3c90a6 Bug 10667: Add unit tests for ILSDI::Services::AuthenticatePatron
This patch adds unit tests for Authenticate patron.

To test:
- Run perl t/db_dependent/ILSDI_Services.t
- Verify all tests pass

Note: there are some tests marked as TODO.

Rewriting AuthenticatePatron to make cardnumber and userid
work for authenticating a patron will be implemented in the
next patch. Tests related to this are currently showing as
'not ok', but are still passing.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No koha-qa errors
With both patches applied, all test pass.
Signed-off-by: Mason James <mtj@kohaaloha.com>

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 995f4b6ecb)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-11-08 15:16:44 -03:00
Jonathan Druart 394969143b Bug 10333: Labels/t_Batch.t needs to create its own data
prove t/db_dependent/Labels/t_Batch.t
db_dependent/Labels/t_Batch.t .. 1/33 # Testing Batch->new() method.
db_dependent/Labels/t_Batch.t .. ok
All tests successful.
Files=1, Tests=33,  1 wallclock secs ( 0.03 usr  0.00 sys +  0.34 cusr
0.00 csys =  0.37 CPU)
Result: PASS

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 402435b17a)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-10-08 13:20:25 -03:00
Galen Charlton 9dba1f4777 Bug 10272: (follow-up) add regression test
This patch adds a regression test for this bug, effectively
implementing the manual test plan in the previous patch.

To test:

[1] Verify that prove -v t/db_dependent/Reserves.t passes.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit e831a7eb3f)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-10-08 10:54:18 -03:00
Kyle M Hall 2448e200e2 Bug 10272: make CheckReserves respect ReservesControlBranch
CheckReserves was using the CircControl system preference to determine what
patrons an item can fill a hold for. It should be using ReservesControlBranch
instead.

Test Plan:
1) Set ReservesControlBranch to "item's home library".

2) Create an item at Library A, place holds for it for patrons at
   Library B, Library C, and Library A in that order,
   for pickup at the patrons home library.

3) Make sure the holds policy for Library A is set to
   Hold Policy = "From home library" and
   Return Policy = "Item returns home".

   Make sure the holds policies for the other libraries are set to
   Hold Policy = "From any library".

4) Check the item in at Library C, the hold for the patron at Library B
   should pop up, even though it's in violation of the circulation rules.
   Don't click the confirm button!

5) Apply this patch, and reload the page,
   now the hold listed should be for the last hold,
   the hold for the patron at Library A, which is correct.

This patch adds the subroutine C4::Reserves::GetReservesControlBranch as
an equivilent to C4::Circulation::_GetCircControlBranch.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixed POD so that arguments and explanation match (C<$item>).
Also tested opac-reserves.pl for regressions.
Passes all tests, QA script, and Reserves.t.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 78eba2f974)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-10-08 10:53:50 -03:00
Galen Charlton c0fbaa876c Bug 10656: add regression test
This patch adds regression tests to verify the sort
order when fetching authorised values in either staff
or OPAC mode.

This patch also wraps the Koha.t tests in a transaction, and
better handles skipping tests if Test::Deep is not installed.

To test:

[1] Verify that prove -v t/db_dependent/Koha.t passes

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tests pass with all patches applied.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit f8484348d1)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-09-16 10:33:41 -03:00
Kenza Zaki b7e3e0efa6 Bug 10699: add explicit return value for DeleteBranchTransferLimits()
This patch adds return values to DeleteBranchTransferLimits:
1 if a Transfer Limit is deleted
undef if no parameters is given
0E0 if a wrong parameter is given

More, it fixes and adds some tests in t/db_dependent/Circulation_transfers.t

To test :
prove t/db_dependent/Circulation_transfers.t
t/db_dependent/Circulation_transfers.t .. ok
All tests successful.
Files=1, Tests=14, 19 wallclock secs ( 0.02 usr  0.01 sys +  0.39 cusr  0.02 csys =  0.44 CPU)
Result: PASS

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested with patch for bug 10692 applied.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 88f15db30a)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-09-13 14:43:58 -03:00
Kenza Zaki 0d97cee2f1 Bug 10693: CreateBranchTransferLimit's return value in C4::Circulation.pm should be more explicit
This patch test if the parameters $toBranch and $fromBranch are given.
If not, CreateBranchTransferLimit now returns undef.
This patch also fixes and adds some regression tests in
t/db_dependent/Circulation_transfers.t

NOTE:
Currently, we can add a transferlimit to nonexistent branches because
in the database branch_transfer_limits.toBranch
and branch_transfer_limits.fromBranch aren't foreign keys.

To test:
prove t/db_dependent/Circulation_transfers.t
t/db_dependent/Circulation_transfers.t .. ok
All tests successful.
Files=1, Tests=15, 18 wallclock secs ( 0.02 usr  0.01 sys +  0.42 cusr  0.00 csys =  0.45 CPU)
Result: PASS

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.
(cherry picked from commit 3c61f95fb4)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-09-13 14:39:47 -03:00
Kenza Zaki 6377215855 Bug 10692: add unit tests for C4::Circulation routines about transfers
The tests are wrap in a transaction.

NOTE: Currently, some tests should pass but don't because of incoherences in the code.
These tests are in comments and preceded by FIXME.

To test:
prove t/db_dependent/Circulation_transfers.t
t/db_dependent/Circulation_transfers.t .. ok
All tests successful.
Files=1, Tests=12, 18 wallclock secs ( 0.02 usr  0.01 sys +  0.37 cusr  0.06 csys =  0.46 CPU)
Result: PASS

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit a58c5334c9)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-09-13 14:38:12 -03:00
Galen Charlton 328b1bef0f Bug 10710: (follow-up) perltidy new code
Also, I prefer the use of parentheses for function
calls, even when no arguments are being passed.
One missed comma turns

is(GetOfflineOperation, ...)

into

is(GetOfflineOperation ...)

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 35b83e540e)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-09-13 14:34:41 -03:00
Kenza Zaki a6d9026f23 Bug 10710: add unit tests for OfflineOperation's routines in C4/Circulation.pm
This patch test AddOfflineOperation,GetOfflineOperation and
DeleteOfflineOperation in C4/Circulation.pm.

The tests are wrapped in a transaction.

Note: Currently, GetOfflineOperations is not tested because we cannot
mock C4::Context->userenv in unit tests

To test:

prove t/db_dependent/Circulation_OfflineOperation.t
t/db_dependent/Circulation_OfflineOperation.t .. ok
All tests successful.
Files=1, Tests=7, 19 wallclock secs ( 0.01 usr  0.01 sys +  0.33 cusr  0.02 csys =  0.37 CPU

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 87890bc366)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-09-13 14:33:58 -03:00
Galen Charlton b6e9c93514 Bug 10767: (follow-up) remove FIXME comments
The FIXME comments in the new test script were based on
an assumption that GetIssuingRules() should return
multiple rules if no or only partial parameters are
passed.  This is not the intent of that routine, whose
purpose is to return the *singular* rule that best
applies to a given loan situation.  In other words,
GetIssuingRule() is not a traditional accessor function.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit c191532cc0)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2013-09-13 14:33:11 -03:00