Bug 23185: ->update can only be called on instantiated classes
authorTomas Cohen Arazi <tomascohen@theke.io>
Thu, 7 May 2020 21:05:29 +0000 (18:05 -0300)
committerTomas Cohen Arazi <tomascohen@theke.io>
Thu, 7 May 2020 21:05:29 +0000 (18:05 -0300)
commitfdea245e991aca4ca3ddad9d1a15d511e427fc0a
tree42c0cca418239a8066c011c01e2be700dbb932fe
parent185d88bac6745f7b76799600f6fd0a16cf09ac93
Bug 23185: ->update can only be called on instantiated classes

Since our use ok Koha::Objects, there's been an implicit instantiation
happening in ->search that has somehow hidden the fact that classes need
instantiation...

This change in ->delete and ->update made it clear because of the
failures/hangs on the tests.

This patch instantiates Koha::Patron::Categories before attempting to
call ->update.

The original patches for this bug are correct and the only issue here is
that we need to document better than for some methods, instantiation is
not implicit and is required first. This is awkward and I would prefer
to force everyone to call ->new first. But I understand it would be
inconvenient.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/Template/Plugin/Categories.t
=> FAIL: Notice it hangs, Ctrl+c to abort
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests dong hang, and in fact pass
4. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Koha/Objects.pm
t/db_dependent/Template/Plugin/Categories.t