Bug 23843 - Make existing endpoints use Koha::Object(s)->to_api
Summary: Make existing endpoints use Koha::Object(s)->to_api
Status: Pushed to master
Alias: None
Product: Koha
Classification: Unclassified
Component: Architecture, internals, and plumbing (show other bugs)
Version: master
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Tomás Cohen Arazi
QA Contact: Joonas Kylmälä
URL:
Keywords:
Depends on: 23770
Blocks: 23285 23858 23859 23860 23893 24225 24228
  Show dependency treegraph
 
Reported: 2019-10-18 18:02 UTC by Tomás Cohen Arazi
Modified: 2019-12-12 13:02 UTC (History)
4 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Who signed the patch off:
Text to go in the release notes:
Version(s) released in:
19.11.00


Attachments
Bug 23843: Add mapping to Koha::Account::Line (3.13 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Checkout (2.35 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Club::Holds (2.25 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Hold (2.87 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Library (3.48 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Patron (5.75 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Item (4.36 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Acquisition::Bookseller (4.01 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Acquisition::Fund (3.42 KB, patch)
2019-10-21 16:57 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: (QA follow-up) Fix tests for funds (2.78 KB, patch)
2019-10-21 18:23 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Account::Line (3.20 KB, patch)
2019-10-22 07:56 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Checkout (2.42 KB, patch)
2019-10-22 07:57 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Club::Holds (2.32 KB, patch)
2019-10-22 07:57 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Hold (2.94 KB, patch)
2019-10-22 07:57 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Library (3.54 KB, patch)
2019-10-22 07:57 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Patron (5.82 KB, patch)
2019-10-22 07:57 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Item (4.43 KB, patch)
2019-10-22 07:57 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Acquisition::Bookseller (4.08 KB, patch)
2019-10-22 07:57 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Acquisition::Fund (3.48 KB, patch)
2019-10-22 07:57 UTC, Martin Renvoize
Details | Diff | Splinter Review
Bug 23843: Make funds endpoint tests more robust (2.79 KB, patch)
2019-10-22 19:00 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Account::Line (3.21 KB, patch)
2019-10-22 19:00 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Checkout (2.42 KB, patch)
2019-10-22 19:00 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Club::Holds (2.32 KB, patch)
2019-10-22 19:01 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Hold (2.94 KB, patch)
2019-10-22 19:01 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Library (3.54 KB, patch)
2019-10-22 19:01 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Patron (5.82 KB, patch)
2019-10-22 19:02 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Item (4.43 KB, patch)
2019-10-22 19:02 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Acquisition::Bookseller (4.08 KB, patch)
2019-10-22 19:02 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Acquisition::Fund (3.48 KB, patch)
2019-10-22 19:03 UTC, Tomás Cohen Arazi
Details | Diff | Splinter Review
Bug 23843: Make funds endpoint tests more robust (2.93 KB, patch)
2019-10-23 14:11 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Account::Line (3.36 KB, patch)
2019-10-23 14:11 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Checkout (2.57 KB, patch)
2019-10-23 14:11 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Club::Holds (2.46 KB, patch)
2019-10-23 14:11 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Hold (3.09 KB, patch)
2019-10-23 14:11 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Library (3.69 KB, patch)
2019-10-23 14:12 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Patron (5.96 KB, patch)
2019-10-23 14:12 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Item (4.58 KB, patch)
2019-10-23 14:12 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Acquisition::Bookseller (4.23 KB, patch)
2019-10-23 14:12 UTC, Joonas Kylmälä
Details | Diff | Splinter Review
Bug 23843: Add mapping to Koha::Acquisition::Fund (3.63 KB, patch)
2019-10-23 14:12 UTC, Joonas Kylmälä
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Tomás Cohen Arazi 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ;)