Now we can embed objects, we need to make sure the JSON representation of a biblio object (which includes information from biblioitems) is generated in Koha::Biblio->to_api instead of the API controller.
Created attachment 96914 [details] [review] Bug 24366: Unit tests
Created attachment 96915 [details] [review] Bug 24366: Merge biblioitem in Koha::Biblio->to_api This patch moves the bilbioitem object merge into the Koha::Biblio->to_api method, as opposed to doing it in the controller. This is an inevitable change as other endpoints might require to embed biblio objects, and they need to carry the biblioitem information. Also, if we merge the tables, the transition will be straightforward (remove the tests this patch introduces, and merge the mappings from Koha::Biblioitem into Koha::Biblio). To test: 1. Apply this patches 2. Run: $ kshell k$ prove t/db_dependent/Koha/Biblio.t \ t/db_dependent/api/v1/biblios.t => SUCCESS: Tests pass! i.e. the new to_api method is tested, and the API tests don't expect any behavior change. 3. Sign off :-D
Created attachment 96958 [details] [review] Bug 24366: Unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 96959 [details] [review] Bug 24366: Merge biblioitem in Koha::Biblio->to_api This patch moves the bilbioitem object merge into the Koha::Biblio->to_api method, as opposed to doing it in the controller. This is an inevitable change as other endpoints might require to embed biblio objects, and they need to carry the biblioitem information. Also, if we merge the tables, the transition will be straightforward (remove the tests this patch introduces, and merge the mappings from Koha::Biblioitem into Koha::Biblio). To test: 1. Apply this patches 2. Run: $ kshell k$ prove t/db_dependent/Koha/Biblio.t \ t/db_dependent/api/v1/biblios.t => SUCCESS: Tests pass! i.e. the new to_api method is tested, and the API tests don't expect any behavior change. 3. Sign off :-D Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 97312 [details] [review] Bug 24366: Unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 97313 [details] [review] Bug 24366: Merge biblioitem in Koha::Biblio->to_api This patch moves the bilbioitem object merge into the Koha::Biblio->to_api method, as opposed to doing it in the controller. This is an inevitable change as other endpoints might require to embed biblio objects, and they need to carry the biblioitem information. Also, if we merge the tables, the transition will be straightforward (remove the tests this patch introduces, and merge the mappings from Koha::Biblioitem into Koha::Biblio). To test: 1. Apply this patches 2. Run: $ kshell k$ prove t/db_dependent/Koha/Biblio.t \ t/db_dependent/api/v1/biblios.t => SUCCESS: Tests pass! i.e. the new to_api method is tested, and the API tests don't expect any behavior change. 3. Sign off :-D Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 97314 [details] [review] Bug 24366: Improve hashref construction Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 97332 [details] [review] Bug 24366: Make sure accessors are used on the right object This patch makes the Koha::Biblio->to_api method try the accessors on $self first, and fallback to $self->biblioitem on those he can't. This way it won't happen that (for example) ->holds will be tried against ->biblioitem. To test: 1. Apply this patch 2. Run: $ kshell k$ prove t/db_dependent/Koha/Biblio.t => SUCCESS: Tests pass! 3. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Nice work everyone! Pushed to master for 20.05
Does not apply to 19.11.x branch. Please rebase if needed for 19.11.x
not pushed to 19.11.x due to dependencies