Koha/t
Marcel de Rooy 0fc3f19605 Bug 19004: Adjust AddReturn for retrieving item type
In the regular situation, you can get itemtype via biblio and then
biblioitem as well as via biblioitem (at least when item-level_itypes
is set to biblio).

But since Koha unfortunately defined two relations in item, one for
biblioitemnumber (the good one) and one for biblionumber (redundant),
TestBuilder (correctly) builds one biblioitem and two biblios.

If you item-level_itypes to biblio record, this will result in failing tests
when calling AddReturn (in this case Koha/Patrons.t).
It will crash on:
    Can't call method "itemtype" on an undefined value at C4/Circulation.pm line 1826.
Cause: AddReturn goes via the biblionumber to biblio and than to
biblioitems, and it does not find a biblioitem. (Not a fault from TestBuilder
but a database design problem.)

This patch makes a small change in AddReturn to retrieve the itemtype via
biblioitem. It actually is a shorter road than items->biblio->biblioitems.

Note: I do not test the Biblioitems->find call, since we already checked
the GetItem call before and we have a foreign key constraint.
I did not call $item->effective_itemtype since we still use GetItem; this
could be done later.

Adjusted Circulation/Returns.t too: If we add an item with TestBuilder and
we called AddBiblio before, we should link biblioitemnumber as well.

Test plan:
[1] Do not apply this patch yet.
[2] Set item-level_itypes to biblio record.
[3] Run t/db_dependent/Koha/Patrons.t. (It should fail.)
[4] Apply this patch.
[5] Run t/db_dependent/Koha/Patrons.t again.
[6] Run t/db_dependent/Circulation/Returns.t
[7] Git grep on AddReturn and run a few other tests calling it.
    Note: Bugs 19070/19071 address three tests that call AddReturn too.
[8] In the interface, check in a book.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Note: Bugs 19070 and 19071 are already pushed. The command in comment #4
      has all the tests successful.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2017-09-01 13:02:27 -03:00
..
Acquisition
Biblio
Budgets Bug 18942: (QA followup) Add new tests descriptions 2017-07-17 15:52:01 -03:00
Circulation Bug 17557: Koha::Patrons - Move GetAge to ->set_age (and remove SetAge) 2016-12-16 11:57:38 +00:00
db_dependent Bug 19004: Adjust AddReturn for retrieving item type 2017-09-01 13:02:27 -03:00
edi_testfiles Bug 7736: Support Ordering via Edifact EDI messages 2016-04-01 20:03:17 +00:00
etc
External
Koha
lib Bug 19003: Add a TestBuilder default for borrowers.login_attempts 2017-08-08 09:39:04 -03:00
Members
Number Bug 18900: (QA followup) Make tests conditional to locale existence 2017-08-10 13:20:32 -03:00
Search
Serials Bug 16289: Refactore code and add tests 2016-06-10 18:09:48 +00:00
SIP
00-checkdatabase-version.t Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
00-deprecated.t Bug 5105 Regression test for switch statement 2010-11-11 21:32:31 +13:00
00-load.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
00-merge-conflict-markers.t Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
00-testcritic.t Bug 15258: Prevent unused declared variables 2015-12-30 17:24:30 -07:00
00-valid-xml.t Bug 16608 - Add xsd extension to t/00-valid-xml.t 2016-06-10 17:40:55 +00:00
Auth_with_shibboleth.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
AuthoritiesMarc_MARC21.t
AuthoritiesMarc_UNIMARC.t Added unit test for AuthoritiesMarc/UNIMARC.pm 2011-12-15 13:41:41 +01:00
AuthUtils.t Bug 9611: (follow-up) move new password hashing routines to separate module 2013-10-09 03:29:22 +00:00
Barcodes_annual.t
Barcodes_EAN13.t Bug 6448 [2/3] Barcodes::EAN13 autoBarcode 2012-08-02 18:41:44 +02:00
Barcodes_hbyymmincr.t
Barcodes_incremental.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Biblio.t Bug 19040: Refactor GetMarcBiblio parameters 2017-08-25 10:23:42 -03:00
Biblio2.t
Bookseller.t
Boolean.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Budgets.t
Cache.t Bug 16769: Uniformise calls to Koha::Cache->set_in_cache 2016-10-10 17:03:54 +00:00
Calendar.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Charset.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Circulation_barcodedecode.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
ClassSortRoutine.t
ClassSortRoutine_Dewey.t
ClassSortRoutine_Generic.t
ClassSortRoutine_LCC.t bug 6281: introduce LC::CallNumber::LC for sorting LC call numbers 2013-06-10 07:56:53 -07:00
ClassSource.t
Context.t Bug 14751: [QA Follow-up] Unit tests for interface method 2016-03-02 04:21:26 +00:00
Contract.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Creators.t
DateUtils.t
Debug.t Bug 14114: Silence warns and cleanup t/Debug.t 2015-05-22 09:33:34 -03:00
dummy.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Edifact.t Bug 7736: Support Ordering via Edifact EDI messages 2016-04-01 20:03:17 +00:00
EdiInvoice.t Bug 7736: Support Ordering via Edifact EDI messages 2016-04-01 20:03:17 +00:00
Ediorder.t Bug 7736: Support Ordering via Edifact EDI messages 2016-04-01 20:03:17 +00:00
Ediordrsp.t Bug 7736: Support Ordering via Edifact EDI messages 2016-04-01 20:03:17 +00:00
Form_MessagingPreferences.t
Heading.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
HtmlTags.t Bug 18665: Add test for HtmlTags.pm 2017-06-21 11:22:19 -03:00
Images.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
ImportBatch.t Bug 10407: Add two subtests to t/ImportBatch.t 2016-09-02 16:00:13 +00:00
Installer_PerlDependencies.t
Installer_PerlModules.t
Installer_pm.t
ItemCirculationAlertPreference.t
Koha.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Koha_Email.t Bug 13172 t/Koha_Email.t was database dependent 2014-10-31 12:10:32 -03:00
Koha_ExternalContent_OverDrive.t Bug 18851: (QA followup) Test doesn't need sessions on DB 2017-08-08 09:21:06 -03:00
Koha_MetadataRecord.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Koha_Template_Plugin_Cache.t Bug 11452: Add unit tests for Koha::Template::Plugin::Cache 2014-01-10 15:42:23 +00:00
Koha_Template_Plugin_Koha.t
Koha_Util_FrameworkPlugin.t
Koha_Util_MARC.t
Labels.t Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
Labels_split_ccn.t
Labels_split_ddcn.t
Labels_split_lccn.t
Languages.t
Letters.t
Log.t Bug 11537: (follow-up) mock C4::Context::preference 2014-01-14 19:27:07 +00:00
Logger.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Makefile.t Bug 19067: Test Makefile.PL mapping 2017-08-10 11:25:33 -03:00
Matcher.t
Members_Attributes.t
Members_AttributeTypes.t Bug 18226 - Remove "use Test::DBIx::Class" instantiations' dangerous code duplication 2017-06-05 17:52:48 -03:00
Members_Messaging.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
NorwegianPatronDB.t Bug 18226 - Remove "use Test::DBIx::Class" instantiations' dangerous code duplication 2017-06-05 17:52:48 -03:00
OpenLibrarySearch.t
Output.t Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
Output_JSONStream.t Bug 11480: Fix invalid assumptions in JSONStream test 2014-01-10 15:42:17 +00:00
Patron.t
Patroncards.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards_Batch.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Layout.t
Patroncards_Lib.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Patroncard.t
Patroncards_Profile.t
Patroncards_Template.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
perlcriticrc Bug 15258: Prevent unused declared variables 2015-12-30 17:24:30 -07:00
Prices.t Bug 18289 - Fix t/Prices.t having a Test::DBIx::Class cache issue 2017-06-05 17:52:49 -03:00
Print.t bug 11542: Increase test coverage for Print.pm 2014-01-14 20:41:31 +00:00
QueryParser.t
RecordProcessor.t
Ris.t Bug 16668: Fix t/Ris.t tests 2016-06-10 16:59:20 +00:00
Scheduler.t Bug 5327 added unit tests for C4/Scheduler.pm 2012-01-31 17:21:49 +01:00
Scrubber.t Bug 14116: Silence noisy output for t/Scrubber. 2015-06-01 14:10:56 -03:00
Search.t
Search_PazPar2.t Bug 14117: Silence warnings t/SearchPazPar2.t 2015-06-01 14:10:14 -03:00
SimpleMARC.t Bug 14098: Implement the copy_and_replace action for MTT 2015-09-07 11:17:13 -03:00
smolder_smoke_signal Bug 2524: Adding script to submit test reports to smolder server 2008-08-18 07:16:35 -05:00
SMS.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
SocialData.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00
Stats.t
SuggestionEngine.t Bug 8726 follow-up: fix QA issues 2012-09-28 17:14:15 +02:00
SuggestionEngine_AuthorityFile.t
TmplToken.t
Token.t Bug 18124: [Follow-up] Handle default parameters in a sub 2017-03-30 09:07:08 +00:00
XSLT.t Bug 18292: Remove return 1 statements in tests 2017-08-15 12:17:42 -03:00