https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=37901

--- Comment #15 from Pedro Amorim <[email protected]> ---
Created attachment 178968
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=178968&action=edit
Bug 37901: Add Tests

Example reports that can be written for ILL pseudonymized data:

--Total of requests of a given request type (article)--

SELECT
  COUNT(*) AS count
FROM
  pseudonymized_transactions pt
WHERE
  EXISTS (
    SELECT 1
    FROM pseudonymized_metadata_values pmv
    WHERE pmv.transaction_id = pt.id
    AND pmv.key = 'type'
    AND pmv.value = 'article'
  );

--Add backend info to listing--

SELECT
  pt.*,
  (SELECT pmv.value FROM pseudonymized_metadata_values pmv WHERE
pmv.transaction_id = pt.id AND pmv.key = 'type') AS type,
  (SELECT pmv.value FROM pseudonymized_metadata_values pmv WHERE
pmv.transaction_id = pt.id AND pmv.key = 'backend') AS backend
FROM
  pseudonymized_transactions pt;

--List all pseudonymized transactions and respective metadata values--

SELECT
  pt.*,
  table1.metadata AS borrower_attributes,
  table2.metadata AS illrequestattributes
FROM
  pseudonymized_transactions pt
  LEFT JOIN (
    SELECT
      transaction_id,
      GROUP_CONCAT(DISTINCT CONCAT(`key`, ':', value)) AS metadata
    FROM
      pseudonymized_metadata_values
    WHERE tablename = 'borrower_attributes'
    GROUP BY
      transaction_id
  ) table1 ON pt.id = table1.transaction_id
  LEFT JOIN (
    SELECT
      transaction_id,
      GROUP_CONCAT(DISTINCT CONCAT(`key`, ':', value)) AS metadata
    FROM
      pseudonymized_metadata_values
    WHERE tablename = 'illrequestattributes'
    GROUP BY
      transaction_id
  ) table2 ON pt.id = table2.transaction_id;

---

Test plan:
1) Add a <bcrypt_settings> under <config> in
/etc/koha/sites/kohadev/koha.conf.xml:
  $ <bcrypt_settings>$2a$08$9lmorEKnwQloheaCLFIfje</bcrypt_settings> <!-- taken
from Pseudonymization.t -->
2) Restart plack & worker:
$ koha-plack --restart kohadev && sudo koha-worker --restart kohadev
3) Enable ILLModule and Pseudonymization system preferences
4) Check 'Keep for pseudonymization' at the only existing patron attribute
type:
http://localhost:8081/cgi-bin/koha/admin/patron-attr-types.pl?op=edit_attribute_type&code=SHOW_BCODE
5) Save. Edit that attribute type for 'koha' patron:
http://localhost:8081/cgi-bin/koha/members/memberentry.pl?op=edit_form&destination=circ&borrowernumber=51
6) Scroll down, set a value for 'Show barcode on the summary screen items
listings:'. Save.
7) Do a checkout for that 'koha' patron.
8) Confirm the pseudonymized_transaction has been added alongside its metadata
(SHOW_BCODE), run report #3 from the examples listed above.
This concludes the 'preparation' side of testing, ensuring that
borrower_attributes are kept for pseudonymization
9) Create a new ILL request of type 'book'.
10) Run the report from 8) again. Verify the ILL pseudonymized transaction and
its related pseudonymized metadata is there.

Run tests:

prove t/db_dependent/Koha/BackgroundJob/PseudonymizeStatistic.t
prove t/db_dependent/Koha/PseudonymizedTransaction.t
prove t/db_dependent/Koha/Pseudonymization.t

-- 
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.
_______________________________________________
Koha-bugs mailing list
[email protected]
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to