Bug 23843

Summary: Make existing endpoints use Koha::Object(s)->to_api
Product: Koha Reporter: Tomás Cohen Arazi (tcohen) <tomascohen>
Component: Architecture, internals, and plumbingAssignee: Tomás Cohen Arazi (tcohen) <tomascohen>
Status: CLOSED FIXED QA Contact: Joonas Kylmälä <joonas.kylmala>
Severity: enhancement    
Priority: P5 - low CC: joonas.kylmala, martin.renvoize, tomascohen
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
19.11.00
Circulation function:
Bug Depends on: 23770    
Bug Blocks: 23285, 23858, 23859, 23860, 23893, 24225, 24228    
Attachments: Bug 23843: Add mapping to Koha::Account::Line
Bug 23843: Add mapping to Koha::Checkout
Bug 23843: Add mapping to Koha::Club::Holds
Bug 23843: Add mapping to Koha::Hold
Bug 23843: Add mapping to Koha::Library
Bug 23843: Add mapping to Koha::Patron
Bug 23843: Add mapping to Koha::Item
Bug 23843: Add mapping to Koha::Acquisition::Bookseller
Bug 23843: Add mapping to Koha::Acquisition::Fund
Bug 23843: (QA follow-up) Fix tests for funds
Bug 23843: Add mapping to Koha::Account::Line
Bug 23843: Add mapping to Koha::Checkout
Bug 23843: Add mapping to Koha::Club::Holds
Bug 23843: Add mapping to Koha::Hold
Bug 23843: Add mapping to Koha::Library
Bug 23843: Add mapping to Koha::Patron
Bug 23843: Add mapping to Koha::Item
Bug 23843: Add mapping to Koha::Acquisition::Bookseller
Bug 23843: Add mapping to Koha::Acquisition::Fund
Bug 23843: Make funds endpoint tests more robust
Bug 23843: Add mapping to Koha::Account::Line
Bug 23843: Add mapping to Koha::Checkout
Bug 23843: Add mapping to Koha::Club::Holds
Bug 23843: Add mapping to Koha::Hold
Bug 23843: Add mapping to Koha::Library
Bug 23843: Add mapping to Koha::Patron
Bug 23843: Add mapping to Koha::Item
Bug 23843: Add mapping to Koha::Acquisition::Bookseller
Bug 23843: Add mapping to Koha::Acquisition::Fund
Bug 23843: Make funds endpoint tests more robust
Bug 23843: Add mapping to Koha::Account::Line
Bug 23843: Add mapping to Koha::Checkout
Bug 23843: Add mapping to Koha::Club::Holds
Bug 23843: Add mapping to Koha::Hold
Bug 23843: Add mapping to Koha::Library
Bug 23843: Add mapping to Koha::Patron
Bug 23843: Add mapping to Koha::Item
Bug 23843: Add mapping to Koha::Acquisition::Bookseller
Bug 23843: Add mapping to Koha::Acquisition::Fund

Description Tomás Cohen Arazi (tcohen) 2019-10-18 18:02:57 UTC
Now we made the decision to move the to_api logic to the Koha::Object-level, we need to migrate the existing endpoints. This will be done without touching the tests at this stage, to prove no behavior change takes place. Once it is done, a new bug will remove the existing mappings in the API controllers, and adjust the tests accordingly.
Comment 1 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:28 UTC
Created attachment 94470 [details] [review]
Bug 23843: Add mapping to Koha::Account::Line

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.

Once this is pushed we need to implement the counter-wise methods and
clean the controllers.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 2 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:30 UTC
Created attachment 94471 [details] [review]
Bug 23843: Add mapping to Koha::Checkout

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/checkouts.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 3 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:33 UTC
Created attachment 94472 [details] [review]
Bug 23843: Add mapping to Koha::Club::Holds

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/clubs_holds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 4 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:36 UTC
Created attachment 94473 [details] [review]
Bug 23843: Add mapping to Koha::Hold

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/holds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 5 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:39 UTC
Created attachment 94474 [details] [review]
Bug 23843: Add mapping to Koha::Library

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/libraries.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 6 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:42 UTC
Created attachment 94475 [details] [review]
Bug 23843: Add mapping to Koha::Patron

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/patrons.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 7 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:46 UTC
Created attachment 94476 [details] [review]
Bug 23843: Add mapping to Koha::Item

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/items.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 8 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:49 UTC
Created attachment 94477 [details] [review]
Bug 23843: Add mapping to Koha::Acquisition::Bookseller

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_vendors.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 9 Tomás Cohen Arazi (tcohen) 2019-10-21 16:57:52 UTC
Created attachment 94478 [details] [review]
Bug 23843: Add mapping to Koha::Acquisition::Fund

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_funds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D
Comment 10 Tomás Cohen Arazi (tcohen) 2019-10-21 18:23:23 UTC
Created attachment 94496 [details] [review]
Bug 23843: (QA follow-up) Fix tests for funds

Now that we use ->to_api all the object attributes are returned, so the
original tests that didn't follow the FKs would pass, and now they
don't. If there is no budget linked to the fund, it will return undef,
which is not accepted on the API (though it accepts not returning the
attribute).

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_funds.t
=> SUCCESS: Tests pass!

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Comment 11 Joonas Kylmälä 2019-10-22 07:55:36 UTC
Comment on attachment 94470 [details] [review]
Bug 23843: Add mapping to Koha::Account::Line

Review of attachment 94470 [details] [review]:
-----------------------------------------------------------------

::: Koha/Account/Line.pm
@@ +399,5 @@
>  }
>  
> +=head3 to_api_mapping
> +
> +This method returns the mapping for representing a Koha::Item object

Should be Koha::Account::Line instead of Koha::Item
Comment 12 Martin Renvoize (ashimema) 2019-10-22 07:56:57 UTC
Created attachment 94506 [details] [review]
Bug 23843: Add mapping to Koha::Account::Line

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.

Once this is pushed we need to implement the counter-wise methods and
clean the controllers.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 13 Martin Renvoize (ashimema) 2019-10-22 07:57:01 UTC
Created attachment 94507 [details] [review]
Bug 23843: Add mapping to Koha::Checkout

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/checkouts.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 14 Martin Renvoize (ashimema) 2019-10-22 07:57:04 UTC
Created attachment 94508 [details] [review]
Bug 23843: Add mapping to Koha::Club::Holds

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/clubs_holds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 15 Martin Renvoize (ashimema) 2019-10-22 07:57:07 UTC
Created attachment 94509 [details] [review]
Bug 23843: Add mapping to Koha::Hold

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/holds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 16 Martin Renvoize (ashimema) 2019-10-22 07:57:10 UTC
Created attachment 94510 [details] [review]
Bug 23843: Add mapping to Koha::Library

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/libraries.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 17 Martin Renvoize (ashimema) 2019-10-22 07:57:13 UTC
Created attachment 94511 [details] [review]
Bug 23843: Add mapping to Koha::Patron

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/patrons.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 18 Martin Renvoize (ashimema) 2019-10-22 07:57:16 UTC
Created attachment 94512 [details] [review]
Bug 23843: Add mapping to Koha::Item

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/items.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 19 Martin Renvoize (ashimema) 2019-10-22 07:57:19 UTC
Created attachment 94513 [details] [review]
Bug 23843: Add mapping to Koha::Acquisition::Bookseller

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_vendors.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 20 Martin Renvoize (ashimema) 2019-10-22 07:57:22 UTC
Created attachment 94514 [details] [review]
Bug 23843: Add mapping to Koha::Acquisition::Fund

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_funds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 21 Martin Renvoize (ashimema) 2019-10-22 07:59:40 UTC
All works as expected, signing off.
Comment 22 Joonas Kylmälä 2019-10-22 08:08:51 UTC
If you can fix the comment in "Bug 23843: Add mapping to Koha::Account::Line" I will sign-off that.
Comment 23 Tomás Cohen Arazi (tcohen) 2019-10-22 19:00:30 UTC
Created attachment 94587 [details] [review]
Bug 23843: Make funds endpoint tests more robust

Now that we use ->to_api all the object attributes are returned, so the
original tests that didn't follow the FKs would pass, and now they
don't. If there is no budget linked to the fund, it will return undef,
which is not accepted on the API (though it accepts not returning the
attribute).

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_funds.t
=> SUCCESS: Tests pass!

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Comment 24 Tomás Cohen Arazi (tcohen) 2019-10-22 19:00:42 UTC
Created attachment 94588 [details] [review]
Bug 23843: Add mapping to Koha::Account::Line

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.

Once this is pushed we need to implement the counter-wise methods and
clean the controllers.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 25 Tomás Cohen Arazi (tcohen) 2019-10-22 19:00:53 UTC
Created attachment 94589 [details] [review]
Bug 23843: Add mapping to Koha::Checkout

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/checkouts.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 26 Tomás Cohen Arazi (tcohen) 2019-10-22 19:01:13 UTC
Created attachment 94590 [details] [review]
Bug 23843: Add mapping to Koha::Club::Holds

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/clubs_holds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 27 Tomás Cohen Arazi (tcohen) 2019-10-22 19:01:35 UTC
Created attachment 94591 [details] [review]
Bug 23843: Add mapping to Koha::Hold

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/holds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 28 Tomás Cohen Arazi (tcohen) 2019-10-22 19:01:50 UTC
Created attachment 94592 [details] [review]
Bug 23843: Add mapping to Koha::Library

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/libraries.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 29 Tomás Cohen Arazi (tcohen) 2019-10-22 19:02:08 UTC
Created attachment 94593 [details] [review]
Bug 23843: Add mapping to Koha::Patron

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/patrons.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 30 Tomás Cohen Arazi (tcohen) 2019-10-22 19:02:24 UTC
Created attachment 94594 [details] [review]
Bug 23843: Add mapping to Koha::Item

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/items.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 31 Tomás Cohen Arazi (tcohen) 2019-10-22 19:02:49 UTC
Created attachment 94595 [details] [review]
Bug 23843: Add mapping to Koha::Acquisition::Bookseller

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_vendors.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 32 Tomás Cohen Arazi (tcohen) 2019-10-22 19:03:10 UTC
Created attachment 94596 [details] [review]
Bug 23843: Add mapping to Koha::Acquisition::Fund

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_funds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 33 Martin Renvoize (ashimema) 2019-10-23 10:51:20 UTC
Good catch Joonas.. fancy joining the QA team next cycle?

In this case, as I'm RM and QA, if your happy and SO I'll convert my own SO as a QA stamp before pushing :)
Comment 34 Joonas Kylmälä 2019-10-23 14:11:44 UTC
Created attachment 94619 [details] [review]
Bug 23843: Make funds endpoint tests more robust

Now that we use ->to_api all the object attributes are returned, so the
original tests that didn't follow the FKs would pass, and now they
don't. If there is no budget linked to the fund, it will return undef,
which is not accepted on the API (though it accepts not returning the
attribute).

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_funds.t
=> SUCCESS: Tests pass!

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 35 Joonas Kylmälä 2019-10-23 14:11:48 UTC
Created attachment 94620 [details] [review]
Bug 23843: Add mapping to Koha::Account::Line

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.

Once this is pushed we need to implement the counter-wise methods and
clean the controllers.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 36 Joonas Kylmälä 2019-10-23 14:11:51 UTC
Created attachment 94621 [details] [review]
Bug 23843: Add mapping to Koha::Checkout

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/checkouts.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 37 Joonas Kylmälä 2019-10-23 14:11:55 UTC
Created attachment 94622 [details] [review]
Bug 23843: Add mapping to Koha::Club::Holds

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/clubs_holds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 38 Joonas Kylmälä 2019-10-23 14:11:58 UTC
Created attachment 94623 [details] [review]
Bug 23843: Add mapping to Koha::Hold

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/holds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 39 Joonas Kylmälä 2019-10-23 14:12:01 UTC
Created attachment 94624 [details] [review]
Bug 23843: Add mapping to Koha::Library

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/libraries.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 40 Joonas Kylmälä 2019-10-23 14:12:05 UTC
Created attachment 94625 [details] [review]
Bug 23843: Add mapping to Koha::Patron

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/patrons.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 41 Joonas Kylmälä 2019-10-23 14:12:09 UTC
Created attachment 94626 [details] [review]
Bug 23843: Add mapping to Koha::Item

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/items.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 42 Joonas Kylmälä 2019-10-23 14:12:12 UTC
Created attachment 94627 [details] [review]
Bug 23843: Add mapping to Koha::Acquisition::Bookseller

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_vendors.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 43 Joonas Kylmälä 2019-10-23 14:12:15 UTC
Created attachment 94628 [details] [review]
Bug 23843: Add mapping to Koha::Acquisition::Fund

This patch adds a to_api_mapping method to the class. This in effect
enables calling ->to_api on the object. The mapping is borrowed from the
API controller. It is not removed from the controller so we are able to
verify (through the tests) that there is no behavior change.
Once this is pushed we need to implement the counter-wise methods and
clean the controllers.
To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/acquisitions_funds.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat (1)
=> SUCCESS: Tests still pass!
4. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Comment 44 Joonas Kylmälä 2019-10-23 14:15:40 UTC
(In reply to Martin Renvoize from comment #33)
> Good catch Joonas.. fancy joining the QA team next cycle?

Let me get back to you later on this.

> In this case, as I'm RM and QA, if your happy and SO I'll convert my own SO
> as a QA stamp before pushing :)

I just signed-off it so feel free to use it as QA.
Comment 45 Martin Renvoize (ashimema) 2019-10-23 17:01:57 UTC
Nice work!

Pushed to master for 19.11.00
Comment 46 Katrin Fischer 2019-10-23 21:08:53 UTC
(In reply to Joonas Kylmälä from comment #44)
> (In reply to Martin Renvoize from comment #33)
> > Good catch Joonas.. fancy joining the QA team next cycle?
> 
> Let me get back to you later on this.

Usually it's a good idea to listen to the RM ;)