Commit Graph

418 Commits

Author SHA1 Message Date
Jared Camins-Esakov eb51a7346a Bug 8524 follow-up: fix broken test
The t/Barcodes_ValueBuilder.t test had the wrong number of tests
declared, and rather than checking that a variable was undefined I was
checking that it had a length of zero. Fixed both issues.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-08-31 17:42:44 +02:00
Jared Camins-Esakov a2186855b3 Bug 8524: Add a non-automatic barcode plugin
In addition to adding a new barcode plugin, this commit begins
refactoring the barcode generation code using a new module,
C4::Barcodes::ValueBuilder. From the POD:
    This module is intended as a shim to ease the eventual transition
    from having all barcode-related code in the value builder plugin
    barcode.pl file to using C4::Barcodes. Since the shift will require
    a rather significant amount of refactoring, this module will return
    value builder-formatted results, at first by merely running the
    code that was formerly in the barcodes.pl value builder, but later
    by using C4::Barcodes.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-08-31 17:42:26 +02:00
Dobrica Pavlinusic 28e5427c60 Bug 6448 [2/3] Barcodes::EAN13 autoBarcode
Implement auto-incrementing EAN-13 barcodes

To make this work, C4::Barcodes::next was modified to call process_tail with
new incremented value so that process_tail can generate correct checksum.
Since process_tail is currenlty not used by any barcodes, this change is safe.

C4::Barcodes is used by addbiblio.pl when adding multiple records, while value_builder
is used in all other cases.

Test scenario:

1. prove t/Barcodes_EAN13.t

2. KOHA_CONF=/etc/koha/sites/fer/koha-conf.xml prove t/db_dependent/Barcodes.t
   this will check C4::Barcode implementataion

3. in systempreference change autoBarcode to incremental EAN-13 barcode

4. edit two items of any biblio assigning barcodes and verify that numbers
   are increasing. Have in mind that last digit is check digit, and it
   doesn't increment, but is calculated from barcode itself. Example with
   checksum in brackets: 000000086275[2], 000000086276[9], 000000086277[6]

5. Add Item and verify that it gets assigned next barcode

6. Add & Duplicate item and verify barcode increase

7. Add Multiple Copies and verify that barcode increase for each copy

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-08-02 18:41:44 +02:00
Dobrica Pavlinusic 089b1151f5 Bug 6448 [1/3] EAN-13/UPC-A itemBarcodeInputFilter
This filter which check validity of EAN-13 barcode and padd it with zeros
up to full 13 digit number. This will also expand 12 digit UPC-A barcodes
to EAN-13 automatically which is useful for older barcode readers which tend
to ignore first zero in EAN-13 if they have just UPC-A support.

It should be noted that EAN-13 or UPC-A product codes printed on books are not
good choice for barcodes in Koha since each item has to have unique barcode.

Test scenario:

1. prove t/Circulation_barcodedecode.t
   this checks expansion of 12 digit UPC-A to 13 digit EAN-13 and zero padding

2. in systempreferences search for itemBarcodeInputFilter and select EAN-13

3. edit one item and assign it valid EAN-13 barcode, eg. 0000000695152, check it out

4. test checkin with just 695152 to test leading zero expansion

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-08-02 18:41:40 +02:00
Paul Poulain b2b16fb8cf Merge remote-tracking branch 'origin/new/bug_8233' 2012-08-01 13:53:43 +02:00
Jonathan Druart dc60d22f96 Bug 8233: We can't load test on Koha::SearchEngine::*
As a temporary measure, don't try to load the search engine modules
in t/00-load.t.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-08-01 13:52:36 +02:00
Chris Cormack d434be61e2 Bug 8486 - Follow up making the tests db independent
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Makes the test db independant by specifying the date format. Thus, there is no call to ->preference() that retrieve a systempreference
2012-08-01 12:36:56 +02:00
Paul Poulain 54f363c0a6 bug 8486 tiny follow-up, removing ` 2012-07-25 16:55:30 +02:00
Colin Campbell cd44ef2dc9 Bug 8486 Merge Calendar test files
Moves the tests previously in t/Kalendar.t to t/Calendar.t
and removes the old file.
Note the existing minimal test of C4/Calendar still called in
t/Calendar

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-25 15:52:24 +02:00
Colin Campbell 3b694b9b1c Bug 8486 Correct calculation of days_between
Thee were errors in the calculation used for days_between
which caused incorrect values to be returned
Added tests to validate calculation

NB Tests still need to be provided for the hourly
calculations
2012-07-25 15:52:16 +02:00
Paul Poulain 39701b8666 Merge remote-tracking branch 'origin/new/bug_5644' 2012-07-16 12:43:09 +02:00
Chris Cormack 2598964b10 Bug 5644 : Fixing the test
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-16 12:42:51 +02:00
Jared Camins-Esakov 407583aa93 Bug 8353 follow-up: Perltidy new test
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-07-13 14:42:52 +02:00
Henri-Damien LAURENT 8bf1c18e96 Bug 8353: Adds a test to check for missing sysprefs in the database
Adds a non-test mode (--showsql option) that displays the missing
sysprefs as sql inserts.  Some sysprefs were missed from the syspref
file due to extra spaces in the insert : fixed. The test now checks if
there are at least as many sysprefs in the database as in the syspref
file (instead of checking for the exact number)

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Cherrypicked from BibLibre master, rebased onto current master, and
corrected typos, 2012-07-03

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-07-13 14:42:40 +02:00
Jared Camins-Esakov 7ddf7cbb03 Bug 8383: Add test to check that Perl scripts compile
This patch adds t/db_dependent/00-strict.pl which tests that all Perl
scripts compile. I chose to use Test::Strict so that in the future we
can also have the test check that "use strict" and "use warnings" are
enabled.

To test:
1. Run t/db_dependent/00-strict.pl.
2. Run around waving your arms in the air that we have a couple of
   scripts that don't compile.
3. Actually, that's about it. You could test my patch for bug 8384 next.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Moved test to t/db_dependent

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-10 11:13:40 +02:00
Jonathan Druart 623f3a2c84 Bug 8233 : SearchEngine: Add a Koha::SearchEngine module
First draft introducing solr into Koha :-)

List of files :
  $ tree t/searchengine/
  t/searchengine
  |-- 000_conn
  |   `-- conn.t
  |-- 001_search
  |   `-- search_base.t
  |-- 002_index
  |   `-- index_base.t
  |-- 003_query
  |   `-- buildquery.t
  |-- 004_config
  |   `-- load_config.t
  `-- indexes.yaml
  just do `prove -r t/searchengine/**/*.t`

  t/lib
  |-- Mocks
  |   `-- Context.pm
  `-- Mocks.pm
  provide a mock to SearchEngine syspref (set_zebra and set_solr).

  $ tree Koha/SearchEngine
  Koha/SearchEngine
  |-- Config.pm
  |-- ConfigRole.pm
  |-- FacetsBuilder.pm
  |-- FacetsBuilderRole.pm
  |-- Index.pm
  |-- IndexRole.pm
  |-- QueryBuilder.pm
  |-- QueryBuilderRole.pm
  |-- Search.pm
  |-- SearchRole.pm
  |-- Solr
  |   |-- Config.pm
  |   |-- FacetsBuilder.pm
  |   |-- Index.pm
  |   |-- QueryBuilder.pm
  |   `-- Search.pm
  |-- Solr.pm
  |-- Zebra
  |   |-- QueryBuilder.pm
  |   `-- Search.pm
  `-- Zebra.pm

How to install and configure Solr ?
  See the wiki page: http://wiki.koha-community.org/wiki/SearchEngine_Layer_RFC

http://bugs.koha-community.org/show_bug.cgi?id=8233
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-07-06 16:51:58 +02:00
Mason James 5bad52eef2 added date and ISBN tests to Koha.t
modified:   Koha.t

$ prove  -v ./Koha.t

1..5
ok 1 - use C4::Koha;
ok 2 - use C4::Members;
    1..6
    ok 1 - Insert data in database
    ok 2 - GetAuthorisedValueByCode
    ok 3 - GetKohaImageurlFromAuthorisedValues
    ok 4 - lost and paid works
    ok 5 - Child area works
    ok 6 - Withdrawn works
ok 3 - Authorized Values Tests
    1..4
    ok 1 - C4::Koha->can('GetDailyQuote')
    ok 2 - Got a quote based on id.
    ok 3 - Got a random quote.
    ok 4 - Got a quote based on today's date.
ok 4 - Daily Quotes Test
    1..7
    ok 1 - slashifyDate
    ok 2 - xml_escape() returns empty string on undef input
    ok 3 - xml_escape() works as expected
    ok 4 - ... and does not change input in place
    ok 5 - _isbn_cleanup removes hyphens
    ok 6 - _isbn_cleanup removes parenthetical
    ok 7 - _isbn_cleanup converts ISBN-13 to ISBN-10
ok 5 - Date and ISBN tests
ok
All tests successful.
Files=1, Tests=5,  1 wallclock secs ( 0.02 usr  0.01 sys +  0.48 cusr  0.06 csys =  0.57 CPU)
Result: PASS

http://bugs.koha-community.org/show_bug.cgi?id=5327
2012-07-06 11:35:40 +02:00
Stacey Walker 3fffe40cd1 bug 5327: added some tests for C4/Items.pm
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-07-06 11:33:42 +02:00
Julian Maurice 203757e353 Bug 7304: More permissions for budgets
- Possibility to add users to a budget
- Restrictions changed to:
  - None
  - Owner
  - Owner and users
  - Owner, users and library
- Restricted users cannot spent on these budgets (they cannot modify them
  either)

Modified pages:
 - admin/aqbudgets.pl
 - admin/aqplan.pl
 - suggestion/suggestion.pl
 - acqui/acqui-home.pl
 - acqui/addorderiso2709.pl
 - acqui/basket.pl
 - acqui/neworderempty.pl

Unit tests in t/Budgets/CanUserUseBudget.t and t/Budgets/CanUserModifyBudget.t

Bug 7304 tmp

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-27 16:25:44 +02:00
Colin Campbell 9929c52a57 Bug 8216: Allow SIP modules to pass critic tests
Add C4/SIP to perlcritic tests. Fix those issues that were
generating perlcritic errors

Signed-off-by: Stacey Walker <stacey@catalyst-eu.net>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-20 11:14:00 +02:00
Paul Poulain 84ec97123b Merge remote-tracking branch 'origin/new/bug_7952' 2012-06-14 15:56:29 +02:00
Dobrica Pavlinusic 1e5f68fdcb Bug 7952 - followup to fix t/Creators.t
Since we are now using temporary file, we are creating test.pdf
at end of test and checking if it exists and have non-zero size.
2012-06-14 15:54:06 +02:00
Chris Cormack c58f8f84d9 Bug 5337 : Upping the count of the unit tests 2012-06-14 15:43:08 +02:00
Matthias Meusburger 7f957077dd Bug 5337: EAN management : Adds ean for various searches
- in various acquisition pages and serials home
  - in database : biblioitems.ean
  - adds ean and its mapping in default english bibliographic framework
  - adds ean mapping in default french bibliographic framework
  - ean search is not enabled for MARC21

The required mapping between the ean marc field and the biblioitems.ean
database field will be automatically added on an existing unimarc installation.

However, if you already have records with ean, you will have to
run misc/batchRebuildBiblioTables.pl to populate biblioitems.ean

Signed-off-by: jmbroust <jean-manuel.broust@univ-lyon2.fr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Passed QA at second run. Removed a merge marker only.
2012-06-09 18:26:34 +02:00
Jared Camins-Esakov d5d6daad1c Bug 8092: Convert Koha::Cache to use CHI
Implements cache handlers for Memcached, mmap shared-file persistent,
and in-process memory caches. If CHI is unavailable, Koha::Cache::Memcached
will fall back to using Cache::Memcached::Fast, or caching will be skipped
without croaking.

To test: run t/Cache.t with the following options, before and after
installing CHI:

2. Tests 3-9 should be skipped with the following:
export CACHING_SYSTEM=

2. You should receive two failures with the following if CHI is not installed:
export CACHING_SYSTEM=memory

3. You should receive two failures with the following if CHI is not installed:
export CACHING_SYSTEM=fastmmap

4. You will need memcached activated for the following to work (but it
   will work both with and without CHI):
export CACHING_SYSTEM=memcached
export MEMCACHED_SERVERS=127.0.0.1:11211
export MEMCACHED_NAMESPACE=KOHA

5. You should receive two failures with the following:
export CACHING_SYSTEM=thisdoesntexist

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Works as advertised, now we need a follow up to add the new dependency.

http://bugs.koha-community.org/show_bug.cgi?id=8029
2012-06-09 13:08:13 +02:00
Chris Cormack 688d62f9d7 Bug 5327 : Fix for XISBN test, thingisbn is now handing back different results 2012-06-05 16:24:53 +02:00
Srdjan 722ca127dd bug_8056: sorted out slip print calls
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
preference works as expected.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Tested that CircAutoPrintQuickSlip clear the screen still works well
2012-05-28 13:52:39 +02:00
Chris Nighswonger ef064dca6d Bug 7977: Adding Daily Quotes Tests to Koha.t test suite; also fixing sort order on quote selection SQL
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Mason James <mtj@kohaaloha.com>
2012-05-24 14:14:45 +02:00
Chris Hall 03fee7a590 Bug 7248 Added caching support and and moved Caching into Koha namespace
Unit test for Koha/Cache.pm (which includes Koha/Cache/Memcached.pm)

Note that in order to test Koha::Cache you must export the environment variable
MEMCACHED_SERVERS. For example:
$ export MEMCACHED_SERVERS=127.0.0.1:11211

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
2012-05-15 18:05:55 +02:00
Paul Poulain 6eb021ab0e Merge remote-tracking branch 'origin/new/bug_5347' 2012-04-19 11:53:44 +02:00
Chris Cormack d83a71d8e6 Bug 5347 Follow up, fix for broken test 2012-04-19 11:40:02 +02:00
Paul Poulain 1ee7f449be Merge remote-tracking branch 'origin/new/bug_5347' 2012-04-18 17:02:25 +02:00
Ian Walls ff29f978af Bug 5374 [SIGNED-OFF] Followup: adds conditional check to unit test for late orders
If there are no late orders in the database, the 5th unit test for C4/Acquisition.pm
fails, since no date is returned (and today's date is expected)

This patch adds a conditional check around whether any late orders are actually returned
by GetLateOrders. If so, tests proceed, if not, they're skipped.  This seems to quiet
the failures in the automated test suite.

http://bugs.koha-community.org/show_bug.cgi?id=5347

signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
2012-04-18 17:01:24 +02:00
Paul Poulain 1acf7a1fad members now passes perlcritic, but not misc. removing testing of misc 2012-04-10 18:03:55 +02:00
Mason James 7eef4c8c70 Bug 5668 - Star ratings in the opac
patch applied to commit eb3dc448d2

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Turned on star ratings in the opac on details and results
Searched for titles - saw the stars
Clicked on a title
Clicked on the stars
Clicked on the stars to change my rating
Logged out
Tried to click on stars
Logged in as different user
Rated items that were rated already and saw average change
Changed preference to show only on detail and repeated tests
Changed preference to now show stars

All above tests passed. Signing off.

Rebased 3-19-12 by Ian Walls

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-10 14:40:49 +02:00
Chris Cormack 7f2ab970da Bug 6679 :[SIGNED-OFF] members dir now passes perlcritic tests
signed-off-by Jonathan Druart <jonathan.druart@biblibre.com>
2012-04-10 13:44:53 +02:00
Srdjan 12ff7355bb bug_7613: OCLC Connexion gateway
svc/import_bib:
* takes POST request with parameters in url and MARC XML as DATA
* pushes MARC XML to an impoort bach queue of type 'webservice'
* returns status and imported record XML
* is a drop-in replacement for svc/new_bib

misc/cronjobs/import_webservice_batch.pl:
* a cron job for processing impoort bach queues of type 'webservice'
* batches can also be processed through the UI

misc/bin/connexion_import_daemon.pl:
* a daemon that listens for OCLC Connexion requests and is compliant
  with OCLC Gateway spec
* takes request with MARC XML
* takes import batch params from a config file and forwards the lot to
  svc/import_bib
* returns status

ImportBatches:
* Added new import batch type of 'webservice'
* Changed interface to AddImportBatch() - now it takes a hashref
* Replaced batch_type = 'batch' with
  batch_type IN ( 'batch', 'webservice' ) in some SELECTs

Signed-off-by: MJ Ray <mjr@phonecoop.coop>
2012-04-06 17:26:20 +02:00
Paul Poulain 2bc542789f Merge remote-tracking branch 'origin/new/bug_7284' 2012-04-04 18:18:26 +02:00
MJ Ray 9d65f66536 bug 7284: fix package build problem, move BEGIN into new
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-04-04 18:18:12 +02:00
Chris Cormack ec23131ea1 Bug 5549 : Fixing the test to only run if the test data exists
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
test passes after the patch. Win.
2012-03-27 09:18:37 +02:00
Jared Camins-Esakov 5ffa8f2a6a Bug 7702: [SIGNED-OFF] MARC21 heading tests should not run under UNIMARC
Skip the MARC21-specific tests in t/Heading_MARC21.t if the marcflavour is
UNIMARC.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
I set marcflavour = UNIMARC for testing this.
Before the patch, t/Heading_MARC21.t fails. After the patch it
succeeds.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-26 15:53:01 +02:00
Chris Cormack 0c40ff9f98 Merge remote-tracking branch 'kc/master' into merged_5549
Fixed conflicts

Conflicts:
	catalogue/moredetail.pl
	installer/data/mysql/updatedatabase.pl
	koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt
2012-03-22 09:36:55 +13:00
Marcel de Rooy dd3ebe9a6e Bug 7310: Updated VirtualShelves unit test
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
2012-03-21 16:47:05 +01:00
Jared Camins-Esakov 9f7e340f82 Bug 7724: Skip Linker test if Zebra isn't set up
One of the tests in t/db_dependent/Linker_FirstMatch.t ony works if Zebra is
running and authorities have been indexed. This was causing Jenkins agitas.
The test should be skipped if Zebra isn't running or authorities have not been
indexed at the time the test is run.

Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-20 11:21:10 +01:00
Colin Campbell e012957186 Bug 5549 : Koha::Calendar::addDate should not loop on -1
Control variable of loop should be absolute value
to avoid looping when backtracking
2012-03-20 13:26:36 +13:00
Colin Campbell 7a8bed5576 Bug 5549 : Daily loans should be due at 23:59
This was failing in one patch through CalcDueDate
2012-03-20 13:25:41 +13:00
Colin Campbell b946d16ec5 Bug 5549 : Format due dates in opac
Further change to ensure that where dates are formatted from the
db form the duedate loses the 23:59
2012-03-20 13:24:51 +13:00
Colin Campbell 372216b9c8 Bug 5549 : Don't confuse the users with an irrelevant time
If the book is due at 23:59 the due time is irrelevant
and potentially confusing to the user add a DateUtils
routine that strips that off the returned display date
2012-03-20 13:24:32 +13:00
Colin Campbell e4abe486da Bug 5549 : move rollingloans.t to db_dependent tests
This still needs a followup to make the tests pass with sample data
2012-03-20 13:24:00 +13:00
Colin Campbell 0a2b32675f Bug 5549 : Koha::Calendar needs to accept scalar add_durations 2012-03-20 13:23:26 +13:00