Summary: | Tests in t stumble over Auth's BEGIN block | ||
---|---|---|---|
Product: | Koha | Reporter: | Marcel de Rooy <m.de.rooy> |
Component: | Test Suite | Assignee: | Marcel de Rooy <m.de.rooy> |
Status: | CLOSED WONTFIX | QA Contact: | Galen Charlton <gmcharlt> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | jonathan.druart |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=14642 https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18226 |
||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Circulation function: | |||
Bug Depends on: | 18420 | ||
Bug Blocks: | |||
Attachments: |
Bug 18445: Replace two use C4::Auth statements
Bug 18445: Fix Log.t by mocking HoldsLog Bug 18445: Resolve a warning in SMS.t by mocking config Bug 18445: Remove Test::DBIx::Class from XSLT.t |
Description
Marcel de Rooy
2017-04-18 12:51:26 UTC
Created attachment 62290 [details] [review] Bug 18445: Replace two use C4::Auth statements Both Serials.pm and Virtualshelf.pm only need haspermission in a specific sub. Since loading the module at compile-time triggers early execution of the BEGIN block, this results in database access in the tests that are assumed to be database independent. At the same time we are resolving test failures in Matcher.t and Prices.t because the schema mock is too late. Test plan: [1] Do not yet apply this patch. Backup your database. [2] Drop the database and create a new empty one. [3] Run the tests in t. Look at Matcher.t and Prices.t too. You will see quite some occurrences of: DBD::mysql::st execute failed: Table 'koha_master.systempreferences' doesn't exist [for Statement "SELECT `me`.`variable`, `me`.`value`, `me`.`options`, `me`.`explanation`, `me`.`type` FROM `systempreferences` `me` WHERE ( `me`.`variable` = ? )" with ParamValues: 0='casauthentication'] at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1832. [4] Apply this patch. [5] Run the tests in t again. Check the results of Matcher.t and Prices.t. [6] Restore your database. [7] Run t/db_dependent/Serials_2.t to trigger the change in Serials. [8] Run t/db_dependent/Virtualshelves.t to test Koha/Virtualshelf. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Created attachment 62292 [details] [review] Bug 18445: Fix Log.t by mocking HoldsLog The HoldsLog preference was added later on (bug 14642). It should be mocked too in this test. Test plan: Run t/Log.t (with an empty Koha database). Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Created attachment 62293 [details] [review] Bug 18445: Resolve a warning in SMS.t by mocking config Resolves the warning: "Use of uninitialized value in subroutine entry at C4/SMS.pm line 98" when sms_send_config does not exist in your koha-conf.xml. Test plan: Run SMS.t without and with this patch. Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Created attachment 62299 [details] [review] Bug 18445: Remove Test::DBIx::Class from XSLT.t Removing the tests around get_xslt_sysprefs from XSLT.t. It makes no sense to test sysprefs values in a test that should be database agnostic. Will add t/db_dependent/XSLT.t to rescue the ideas behind these lines. Test plan: Run t/XSLT.t Run t/db_dependent/XSLT.t Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Marcel, did you see bug 18226 and related? I don't think we should replace the use with require to make the tests pass. (In reply to Jonathan Druart from comment #5) > Marcel, did you see bug 18226 and related? > I don't think we should replace the use with require to make the tests pass. Ah, no not yet. Will be looking. Returning here later |