This patch introduces a try/catch block in store() and parses the error
when an exceptional situation takes place.
It only deals with FK constraint violations and duplicate IDs. The rest of the DBIC exceptions
are rethrown.
To test:
- Apply this patch
- Run:
$ kshell
k$ prove t/db_dependent/Koha/Object.t
=> SUCCESS: Tests pass!
- Sign off :-D
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This patch makes Koha::Object raise exceptions in the following
situations:
- When a non existent accessor is called
- When a non existent property is tried to be updated using ->set
On implementing this change, we introduce Koha::Exceptions::Object class
to contain all Koha::Object-specific exception definitions.
Unit tests for this change are introduced in
t/db_dependent/Koha/Objects.t
To test:
- Apply the patches on master
- Run:
$ prove t/db_dependent/Koha/Objects.t
=> SUCCESS: Tests return green
- Sign off
Note: A followup introduces the dependency for Try::Tiny. It needs to be
present for running the tests.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>