Koha/t
Jonathan Druart 68e4f96511 Bug 13934: C4::ItemType->get should return undef if no parameter given
The issue: If you try to check in an item with a non existent barcode,
the application will exploded with a software error:
"Can't bless non-reference at .../ItemType.pm Line 64".
It's caused by:
commit 7431f8cfe2
    Bug 11944: Fix encoding issue in C4::ItemType

and the following change:
@@ -105,9 +104,6 @@ sub get {
     my $data = $dbh->selectrow_hashref(
         "SELECT * FROM itemtypes WHERE itemtype = ?", undef, $itemtype
     );
-    if ( $data->{description} ) {
-        $data->{description} = Encode::encode('UTF-8', $data->{description});
-    }

because of the following:
  my $s;
  $s->{foo} = "bar" if $s->{foo};
  use Data::Dumper;warn Dumper $s;
=> {} # not undef

So later,
  bless $opts => $class;
will fail because $opts is undef and was not (i.e. {}) before.

More explicit test plan:
1) Log in to staff client
2) Circulation -> Check in
3) Type a non-existent barcode into 'Enter item barcode:' textbox
4) Click 'Submit'
   -- Should receive nasty error.
5) apply patch
6) repeat steps 2-4
   -- Should be told 'No item with barcode: {what you typed}'
7) prove -v t/ItemType.t
   -- All tests should run successfully.
7) run koha qa test tools

Note: Having tried to create and use an itemtype '0', this only
      demonstrates a lack of validation on the itemtype creation
      screen. Unable to use it without tweaking back end.
      That is beyond the scope of this bug.

Note for QA: C4::ItemType->get is only uses in circ/return.pl. So even
if the behavior is changed, it should not introduce any regression
somewhere else.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected. Fixes the problem and no regressions found.
It even has regression tests :-D

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-04-10 10:18:07 -03:00
..
Acquisition bug 8854: fix some invoice search filters 2013-11-19 16:12:31 +00:00
Biblio Bug 12343: Add regression test for TransformKohaToMarc 2014-06-15 11:27:20 -03:00
Budgets Bug 12019: ensure that it is optional to define an owner if a fund is restricted 2014-05-03 19:00:08 +00:00
Circulation Bug 13106 - Encapsulate Circulation::GetAgeRestriction() and modify it to check borrowers age as well. 2014-11-11 09:52:59 -03:00
DataTables Bug 9811: Patron search improvement 2014-07-01 09:57:09 -03:00
db_dependent Bug 13940 : (QA followup) Add test for ModOAISet 2015-04-09 11:56:53 -03:00
Koha/Plugin Bug 7804 - Add Koha Plugin System - QA Followup 2 2013-03-20 14:50:19 -04:00
lib Bug 13274: Mock new_dbh in t::lib::Mocks 2014-11-19 09:50:32 -03:00
Members Bug 108661: (follow-up) enshrine letting CardnumberLength specify just a maximum 2014-03-12 04:07:03 +00:00
Number Bug 12844: Force the symbol place in the tests 2014-10-27 12:56:30 -03:00
Search Bug 10807: Add an authority search history for the OPAC 2014-05-05 02:32:27 +00:00
Serials Bug 7688: (follow-up) rewrite 'for' loop in unit tests 2013-10-30 00:38:52 +00:00
00-checkdatabase-version.t Bug 9191 follow-up: remove example updatedatabase stanzas 2012-12-11 08:29:11 -05:00
00-deprecated.t
00-load.t Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
00-merge-conflict-markers.t Test suite: ignoring backups from vi (files ending with a ~) 2011-12-07 15:17:54 +01:00
00-testcritic.t Bug 8798: (follow-up) remove DBIC_DONT_VALIDATE_RELS 2013-10-14 22:51:44 +00:00
00-valid-xml.t bug 5393 [SIGNED-OFF]: add test case to check well-formedness of XML/XSLT files 2010-11-13 11:51:49 +13:00
Auth_with_shibboleth.t Bug 8446: (qa followup) Tests should be conditional on Test::DBIx::Class 2014-10-16 12:28:04 -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
Barcodes_hbyymmincr.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_incremental.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_ValueBuilder.t
Biblio.t Bug 13230: t/Biblio.t should run without a DB 2014-11-11 09:43:31 -03:00
Bookseller.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Boolean.t Bug 13814: (QA followup) test for generated warnings 2015-03-15 09:03:33 -03:00
Borrower.t Bug 13882: Tidy t/Borrower.t to fix whitespace errors 2015-04-08 12:19:15 -03:00
Branch.t
Breeding.t Bug 13279: t/Breeding.t shouldn't depend on the DB 2014-11-20 09:39:53 -03:00
Budgets.t C4::Bookfund no longer exists, removing the test 2009-12-20 14:31:37 +01:00
Cache.t Bug 12800: running unit tests that use Koha::Cache breaks cache usage from Apache 2014-08-24 12:48:34 -03:00
Calendar.t Bug 9209: Skip tests for older DBD::Mock 2012-12-28 20:15:36 -05:00
Charset.t Bug 11944: replace use of utf8 with Encode 2015-01-13 13:06:45 -03:00
Circulation_barcodedecode.t Bug 10900 - Incorrect calling conventions accessing C4::Context 2015-02-09 17:00:13 -03:00
ClassSortRoutine.t
ClassSortRoutine_Dewey.t Bug 8837 [QA Followup] - Add unit tests 2014-10-28 09:39:44 -03:00
ClassSortRoutine_Generic.t Bug 5327 added unit tests for C4/ClassSortRoutine/Generic 2012-01-17 15:31:55 +01:00
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 11848: Fix C4::Context::interface, add POD and UT 2014-05-05 04:32:31 +00:00
Contract.t
Creators.t Bug 8375: (follow-up) final adjustment to t/Creators.t 2014-05-07 01:00:34 +00:00
Dates.t Fix for Bug 4473 - Recent comments view for the OPAC 2010-12-13 09:43:01 +13:00
DateUtils.t Bug 13933: Fix t/DateUtils.t without DB 2015-04-01 13:10:16 -03:00
Debug.t
dummy.t
External_Overdrive.t Followup for bug 10320: minor bugfixes and style improvements 2013-09-08 07:04:02 +00:00
External_Syndetics.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Form_MessagingPreferences.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Heading.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Images.t Bug 5327: Testing c4 Images 2012-09-07 14:42:18 +02:00
ImportBatch.t Bug 13281: t/ImportBatch.t shouldn't depend on the DB 2014-11-20 09:53:36 -03:00
Input.t Input.t permissions fix 2007-11-16 13:24:37 -06:00
Installer_PerlDependencies.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Installer_PerlModules.t bug 11544: increasing test coverage for Installer_PerlModules.pm 2014-01-14 21:48:43 +00:00
Installer_pm.t Bug 4905 Runtime errors in about.pl 2010-06-24 14:16:36 -04:00
ItemCirculationAlertPreference.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ItemType.t Bug 13934: C4::ItemType->get should return undef if no parameter given 2015-04-10 10:18:07 -03:00
Koha.t Bug 13167: (QA followup) regression tests 2015-01-04 11:14:58 -03:00
Koha_Email.t Bug 13172 t/Koha_Email.t was database dependent 2014-10-31 12:10:32 -03:00
Koha_MetadataRecord.t Bug 9755 QA follow-up: move MARC-specific functionality to utility class 2013-07-23 23:10:21 +00: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 Bug 13496: add a method for the templates to print Koha version as desired 2015-01-04 11:24:07 -03:00
Koha_Util_FrameworkPlugin.t Bug 13223: [QA Follow-up] Adding some unit tests for wrapper 2014-11-19 13:28:28 -03:00
Koha_Util_MARC.t Bug 5202: merge authorities from the authority file and reservoir 2013-10-10 21:32:27 +00:00
Labels.t Bug 11402: (follow-up) add one more unit test 2013-12-30 16:23:10 +00:00
Labels_split_ccn.t
Labels_split_ddcn.t
Labels_split_lccn.t bug 9370: add invalid call number to LC splitting test cases 2013-06-12 07:44:05 -07:00
Languages.t Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
Letters.t Bug 13601: t/Letters.t needs to mock the dateformat pref 2015-03-30 13:40:05 -03:00
Log.t Bug 11537: (follow-up) mock C4::Context::preference 2014-01-14 19:27:07 +00:00
Matcher.t
Members_Attributes.t Remove diagnostic output from t/Members_Attributes.t 2009-12-20 14:31:39 +01:00
Members_AttributeTypes.t Bug 7919: Fix unit test (Members_AttributeTypes.t) 2012-12-07 18:26:37 -05:00
Members_Messaging.t
Message.t Bug 13282: t/Message.t shouldn't depend on the DB 2014-11-20 09:38:02 -03:00
NorwegianPatronDB.t Bug 11401: (followup) make tests run on absent deps 2014-11-14 15:32:25 -03:00
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
Overdues.t Bug 13283: t/Overdues.t shouldn't depend on the DB 2014-11-20 09:37:39 -03:00
Patroncards.t
Patroncards_Batch.t
Patroncards_Layout.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
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 Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Template.t
perlcriticrc Updating perlcriticrc to allow Modern::Perl to suffice instead of use warnings; and use strict; 2012-01-27 11:33:15 +01:00
Prices.t Bug 12976: Fix some comment in tests 2015-02-19 09:46:44 -03:00
Print.t bug 11542: Increase test coverage for Print.pm 2014-01-14 20:41:31 +00:00
QueryParser.t Bug 12647: PQF QueryParser driver and unit tests fixes 2014-08-11 10:09:38 -03:00
RecordProcessor.t
Review.t
Ris.t bug 5327 added unit tests for C4/Ris.pm 2012-01-31 17:21:49 +01:00
RotatingCollections.t Bug 13284: t/RotatingCollections.t shouldn't depend on the DB 2014-11-20 09:37:20 -03:00
Scheduler.t Bug 5327 added unit tests for C4/Scheduler.pm 2012-01-31 17:21:49 +01:00
Scrubber.t Added unit tests for Scrubber 2011-12-15 13:41:43 +01:00
Search.t Bug 13278: (QA followup) use t::lib::Mocks 2014-11-19 18:11:58 -03:00
Search_PazPar2.t
SimpleMARC.t Bug 11413: Change the field number logic 2014-11-14 12:05:40 -03:00
SIP_Sip.t Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
smolder_smoke_signal
SMS.t Bug 12642: t/SMS.t should not be db dependent 2014-07-29 11:27:55 -03:00
SocialData.t
Stats.t
SuggestionEngine.t Bug 8726 follow-up: fix QA issues 2012-09-28 17:14:15 +02:00
SuggestionEngine_AuthorityFile.t Bug 13277: (QA followup) use t::lib::Mocks 2014-11-19 18:12:03 -03:00
TmplToken.t
XSLT.t Bug 13276: use t::lib::Mocks::mock_dbh 2014-11-19 11:30:45 -03:00