Commit Graph

782 Commits

Author SHA1 Message Date
Martin Renvoize 633befb5f0
Bug 23185: (QA follow-up) Semantics, split fields and options
This patch improves the semantics of the update routine to more clearly
separate the 'fields' we're modifying from the 'options' we wish to
apply to the modification.

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-05-05 10:58:14 +01:00
Jonathan Druart 085cc7c4d2
Bug 23185: Add tests
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-05-05 10:58:04 +01:00
Jonathan Druart cd141a7445
Bug 18308: fix failing tests
#   Failed test 'check_password hook tests'
 #   at t/db_dependent/Koha/Plugins/Patron.t line 83.
 [The password was rejected by a plugin]# Looks like your test exited with 255 just after 5.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-05-05 10:52:02 +01:00
Martin Renvoize 0575bc22d1
Bug 18308: (RM follow-up) Fix failing tests
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-05-05 10:49:07 +01:00
Jonathan Druart b2de93144a
Bug 24161: Add tests
Sponsored-by: Cork Institute of Technology
Signed-off-by: Angela O'Connor Desmond <angela.oconnordesmond@staff.ittralee.ie>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-05-04 09:44:44 +01:00
Tomas Cohen Arazi e3382d89cd
Bug 25297: Regression tests
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-05-01 08:16:31 +01:00
Jonathan Druart b13df9d3d0
Bug 25303: Add a test for ->reset
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-05-01 08:08:17 +01:00
Tomas Cohen Arazi 049aee2536
Bug 25131: (follow-up) Make sure plugin data is fresh
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-30 08:30:35 +01:00
Jonathan Druart 46f5b1ff21
Bug 25303: Effectively delete the city to avoid endless loop
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 19:05:27 +01:00
Tomas Cohen Arazi e289e40078
Bug 25303: Unit tests
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 19:05:16 +01:00
Tomas Cohen Arazi 7acc063709
Bug 25296: Tests for uninstantiated behaviour
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 19:00:23 +01:00
Tomas Cohen Arazi fce7094c29
Bug 25296: Unit tests
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 18:59:59 +01:00
Jonathan Druart 11bf5d7afa
Bug 23137: Move cache flushing to the method
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 17:02:15 +01:00
Jonathan Druart 76bf4dc056
Bug 22828: Add tests
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 16:58:15 +01:00
Jonathan Druart 5fdd436558
Bug 23495: Fix if no sms provider defined
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 16:57:06 +01:00
Nick Clemens 985c8f1da9
Bug 23495: Add SMS provider to moremember.tt
To test:
1 - Enable SMS using the Email driver
2 - Add an SMS provider under admimistration
3 - Add an SMS number and provider to a patron
4 - Note on the patron details you don't see the provider :-(
5 - Apply patch
6 - Reload
7 - Note you do see the provider :-)
8 - prove t/db_dependent/Koha/Patrons.t
9 - Sign off!

Signed-off-by: Lisette <lisetteslatah@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 16:56:55 +01:00
Martin Renvoize 0b72e7d666
Bug 24815: Add additional tests
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-29 16:17:53 +01:00
Jonathan Druart d8dd31142c
Bug 13518: Delete patron's modifications along with the patron
The table borrower_modifications has no FK constraint on the borrowernumber
and will remain untouched when the patron is deleted.
If the borrowernumber doesn't exist in the database, the modification entry is no longer visible in Koha.

The problem is that this table is used for the borrower modifications and the self-registration features.

So far borrowernumber is the PK (int(11) NOT NULL DEFAULT '0'), for the self-registration feature we can have borrowernumber that is not defined (0 is used)

Ideally we would like to have borrowernumber a DEFAULT NULL, and use NULL for self-reg, but then we will loose the PK (PK cannot be NULL).

As we cannot keep the correct constraints at DB level anyway, we will need to handle consistency at code-level.

Test plan:
Create a new patron
Do some modification at the OPAC
Delete the patron
Confirm that the modifications as been removed (directly in DB)

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-20 12:19:16 +01:00
Tomas Cohen Arazi 8992bb2e6f
Bug 25131: Regression tests
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-16 19:21:06 +01:00
Martin Renvoize ae297d8f02
Bug 24820: (RM follow-up) Fix test after switch to 'date' field
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-15 11:51:12 +01:00
Martin Renvoize 60f4104626
Bug 22887: (RM follow-up) Fix Charges Test
The charges test added a duplicate authorised value needlessly (it's
already present in the sample data).

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-14 19:51:45 +01:00
Jonathan Druart 41e6f0447c
Bug 23591: Add some useful methods to Koha::Suggestions
Those are methods initially written for bug 23991. I finally need them
before than expected.

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-14 16:36:13 +01:00
Jonathan Druart 65c5407d41
Bug 25044: Remove the need to define koha_object[s]_class for standard object class names
In Koha::Object[s]->prefetch_whitelist, there is a call to the koha_object[s]_class DBIC resultset class. We should not, otherwise those 2 methods will have to be defined all the time, even when we can guess it easily.

Koha::Item <> Schema::Result::Item => standard
Koha::Acquisition::Order <> Schema::Result::Aqorder => non-standard

sub _get_object_class {
    my ( $type ) = @_;
    return unless $type;

    if( $type->can('koha_object_class') ) {
        return $type->koha_object_class;
    }
    $type =~ s|Schema::Result::||;
    return ${type};
}

Test plan:
 % prove t/db_dependent/Koha/Object.t t/db_dependent/Koha/Objects.t
should return green before and after this patch

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-14 08:35:53 +01:00
Tomas Cohen Arazi e986d4d0ad
Bug 25006: Regression tests
This patch introduces regression tests for as_marc_field. It makes sure
there are empty subfields and then uses List::MoreUtils' all to verify
all generated MARC subfields contain something (i.e. the undef ones are
skipped).

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-04-03 14:26:33 +01:00
Jonathan Druart c800ef7e59
Bug 22001: Errors are no longer logged by default (!)
This is one of the biggest part we will have to deal with when we will
switch to DBIC handler for UI as well.
The DBI errors will not be logged if we do not deal with them correctly.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-31 17:49:03 +01:00
Jonathan Druart c89e0a18d6
Bug 22001: Fix Koha/Patrons.t
The message is only printed once

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-31 17:47:48 +01:00
Jonathan Druart 9c383aa286
Bug 23463: (follow-up 3) Fix timestamp default value
This is the only situation I found where:
 * t/db_dependent/Koha/Item.t is passing
 * t/db_dependent/Koha/Object.t is passing
 * MySQL 8 is happy (and not fail with "Column 'timestamp' cannot be null"), which is certainly what I missed in the previous follow-up

About the change to Object.t: the next store was called without the
generated timestamp, so it is needed to call discard_changes.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-31 09:52:57 +01:00
Jonathan Druart af1275ce7d
Bug 22001: Fix Object.t - handle correct RaiseError and PrintError
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-31 09:50:12 +01:00
Jonathan Druart ff19fd4806
Bug 18177: (follow-up) remove aqbooksellers.currency
There was an occurrence in tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 15:48:15 +00:00
Jonathan Druart 7d8ddfb675
Bug 23204: Fix tests swapping fields (they are not ordered)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 15:39:34 +00:00
Marcel de Rooy 5b4eb87483
Bug 23473: (QA follow-up) Fix number of tests
=> Looks like you planned 158 tests but ran 159.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 12:23:22 +00:00
Nick Clemens 68776ef2e6
Bug 23473: (follow-up) Fix QA complaints (tabs, filters, Dumper)
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 12:23:17 +00:00
Nick Clemens 214d78309d
Bug 23473: Don't allow staff password changes for imports
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 12:23:12 +00:00
Nick Clemens 9a6134710d
Bug 23473: Don't allow setting blank passwords via import
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 12:23:08 +00:00
Nick 4c6517d05b
Bug 23473: (follow-up) Make passwords 'secure' for tests
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 12:22:47 +00:00
Nick Clemens 6464ada6c6
Bug 23473: Allow overwrite of passwords during import
To test:
 1 - Have some patrons in your system
 2 - Export some of their info via reports
    SELECT cardnumber, userid, surname, firstname, password, branchcode, categorycode
 3 - Edit the file from above, changing all the password lines
 4 - Import the file with overwrite
 5 - Confirm passwords have not changed (run the report again and confirm the hashes are the same)
 6 - Apply patch
 7 - Restart all the things
 8 - Check the new box on import screen to overwrite passwrods
 9 - Import file again
10 - Confirm passwords have changed
11 - Signin using new password to verify the hash is the password as supplied
12 - Repeat via commandline import supplying --overwrite_passwords option
13 - Verify works as expected
14 - Prove -v t/db_dependent/Koha/Patrons/Import.t

Sponsored-by: ByWater Solutions
Signed-off-by: Ron Marion <ron.marion@goddard.edu>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 12:21:59 +00:00
Alex Arnaud 85f3a3a302
Bug 23204: Move code in a unit tested sub
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 11:54:51 +00:00
Jonathan Druart 46ecd9def5
Bug 22001: Add tests
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 08:53:02 +00:00
Jonathan Druart 2849b188c8
Bug 22001: Remove the RaiseError occurrences from tests
Unless it is needed!
Also remove $dbh when not used later.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 08:52:56 +00:00
Jonathan Druart dcc9381691
Bug 22685: Use DBIx::Class relationships in Koha::Acq::Bookseller methods
To match PERL15 we change the behavior of Koha::Object methods to make
them use the DBIx::Class relationships.

Test plan:
- Create a vendor, basket and contact
- Edit the vendor => the contact must appears
- Go to the view of a vendor => you cannot delete the vendor, it has
a basket attached
- Create another vendor, without basket
- Go to the view of the vendor => You can delete it

Additionally:
 % prove t/db_dependent/Koha/Acquisition/Booksellers.t
must return green

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-27 08:44:36 +00:00
Fridolin Somers 21c9b685bf
Bug 20415: Remove UseKohaPlugins system preference
Owen Leonard 2018-03-16 10:47:47 UTC :
<<
I don't think the system preference adds any security. There are already multiple permissions required for working with plugins:

- Configure plugins
- Manage plugins ( install / uninstall )
- Use report plugins
- Use tool plugins

And even with those permissions your server must be configured to allow the use of plugins.
>>

Test plan :
1) Install kitchen sink plugin https://github.com/bywatersolutions/koha-plugin-kitchen-sink
2) Run misc/devel/install_plugins.pl
3) Set config enable_plugins=1
4) Check all parts of the plugin are working
5) Set config enable_plugins=0
6) Check all parts of the plugin are disabled

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-26 11:42:02 +00:00
Nicolas Legrand c5f4a558c6
Bug 13881: Add desk management
Add a desk and linked it to a library (branch). That's it. In the
future it'll have super features like being able to link waiting
reserve to a specific desk.

Test plan:

1. go to the administration page and notice there isn't any mention of
desk whatsoever
2. apply patches
3. ./installer/data/mysql/updatedatabase.pl
4. prove t/db_dependent/Koha/Desks.t
5. you now have desks links in admin-home and admin-menu
6. click the link
7. add a desk
8. add another one
9. delete one
10. you should have a fair list of all current desks defined
11. Done

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-25 09:19:15 +00:00
Kyle M Hall 17ec659f85
Bug 21443: Remove the dependency on finesCalendar
Considering that the the use of finesCalendar for this calculation is
already a binary choice, it makes sense to remove the use of
finesCalendar here. It is an uneccessary complication that could
introduce confusion. Allowing this new setting to directly control
the behavior makes it clear and obvious what is going on.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-24 11:09:16 +00:00
Kyle M Hall 55e42a172e
Bug 21443: Unit tests
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marti Fuerst <mfuerst@hmcpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-24 11:09:07 +00:00
Nick Clemens 7195f37103
Bug 24759: (follow-up) Fix tests
Earlier tests delete borrowers before issues, can cause a constraint failure

Wrong test count

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-24 10:48:54 +00:00
Nick Clemens 5ff045a83e
Bug 24759: Rename renewalbranch to renewal_branchcode
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-24 10:48:41 +00:00
Nick Clemens 8dfb0adc8c
Bug 24759: CleanUp OpacRenewalBranch values
We had a unique behvaiour where the syspref was set to string 'NULL'
as opposed to undef, we need to clean that up

To test:
1 - Set OpacRenewalBranch to 'NULL' in staff interface
2 - Renew via opac
3 - Check statistics to ensure branch is blank

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-24 10:48:00 +00:00
Nick Clemens 6de018f65f
Bug 24759: Move OpacRenewalBranch code to Koha::Item
This patchset moves all code to calculate the correct renewal branch into Koha::Item.pm

When interface is opac we follow the syspref, otherwise we use the current userenv, or pass through
a defined branch

To test:
1 - Check out an item to a patron
2 - Set allowed renewals in the circ rules to 100 (just so you can keep testing)
3 - Renew the item in staff interface, confirm it is recorded correctly in statistics table (as signed in branch)
4 - Renew via the opac, testing with each setting of OpacRenewalbranch
5 - prove -v t/db_dependent/Koha/Item.t

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-24 10:47:49 +00:00
Marcel de Rooy d77a65fe7a
Bug 24052: Catch warning between test 5 and 6
Resolve:
ok 5 - Engine returns error on undefined text
XSLT::Base: Empty String at /usr/share/koha/Koha/XSLT/Base.pm line 214.
ok 6 - Engine returns error on empty string

Test plan:
Run perl Base.t and verify that this warning is no longer printed.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-24 10:42:23 +00:00
Marcel de Rooy fc2c8c3767
Bug 24052: Fix Koha/XSLT/Base.t
Moving the separate small attachments into the test script.
Creating them now as temporary files or code fragments.
Deleting original files.

Since Breeding.t also used one of these files, a similar change was made in
that script.

Test plan:
Run t/db_dependent/Koha/XSLT/Base.t. Should pass now.
Run t/db_dependent/Breeding.t again.
Git grep on XSLT_Handler. You should only find release notes.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-03-24 10:42:23 +00:00