From 2f25a953568db3a30caca54718cf3ee9cf17925b Mon Sep 17 00:00:00 2001 From: Patrick Barroca <pbarroca@afi-sa.fr> Date: Fri, 26 Jun 2020 10:30:53 +0200 Subject: [PATCH] hotline #109428 : fix current loan count in dilicom dashboards --- VERSIONS_HOTLINE/109428 | 1 + .../TableDescription/PNBItemsRenderer.php | 2 +- tests/scenarios/PnbDilicom/PnbDilicomTest.php | 48 ++++++++++++++----- 3 files changed, 38 insertions(+), 13 deletions(-) create mode 100644 VERSIONS_HOTLINE/109428 diff --git a/VERSIONS_HOTLINE/109428 b/VERSIONS_HOTLINE/109428 new file mode 100644 index 00000000000..7e527e53320 --- /dev/null +++ b/VERSIONS_HOTLINE/109428 @@ -0,0 +1 @@ + - ticket #109428 : PNB Dilicom : Correction du calcul des prêts en cours \ No newline at end of file diff --git a/library/Class/TableDescription/PNBItemsRenderer.php b/library/Class/TableDescription/PNBItemsRenderer.php index 72c48ce68b4..69e0e25adab 100644 --- a/library/Class/TableDescription/PNBItemsRenderer.php +++ b/library/Class/TableDescription/PNBItemsRenderer.php @@ -67,7 +67,7 @@ class Class_TableDescription_PNBItemsRenderer { public function getLiveQuantity() { - return $this->getLoanCountOrLocalOngoing() + return $this->getLocalOngoingCount() . ' / ' . $this->_item->getLoanAllowedNumberOfUsers(); } diff --git a/tests/scenarios/PnbDilicom/PnbDilicomTest.php b/tests/scenarios/PnbDilicom/PnbDilicomTest.php index fad70b72fd3..11d9150e6ff 100644 --- a/tests/scenarios/PnbDilicom/PnbDilicomTest.php +++ b/tests/scenarios/PnbDilicom/PnbDilicomTest.php @@ -3377,6 +3377,7 @@ abstract class PnbDilicomAdminAlbumControllerTestCase extends Admin_AbstractCont $this->fixture('Class_Album', ['id' => 23, + 'id_origine' => 'Dilicom-36636', 'titre' => 'Being human being', 'type_doc_id' => Class_TypeDoc::DILICOM]); @@ -3399,7 +3400,6 @@ abstract class PnbDilicomAdminAlbumControllerTestCase extends Admin_AbstractCont 'usage_type' => Class_Album_UsageConstraint::DEVICE_SHARE_CONSTRAINT, 'serialized_datas' => json_encode([Class_Album_UsageConstraint::QUANTITY => 6])]), - $this->fixture('Class_Album_UsageConstraint', ['id' => 3, 'usage_type' => Class_Album_UsageConstraint::AVAILABILITY_CONSTRAINT, @@ -3409,6 +3409,27 @@ abstract class PnbDilicomAdminAlbumControllerTestCase extends Admin_AbstractCont ] ]); + $this->fixture('Class_Loan_Pnb', + ['id' => 1, + 'record_origin_id' => 'Dilicom-36636', + 'subscriber_id' => '000005', + 'user_id' => 4077, + 'expected_return_date' => '2017-01-20 13:57:33', + 'loan_date' => '2016-12-16 13:57:33', + 'loan_link' => 'https://pnb-dilicom.centprod.com/v2//XXXXXXXX.do', + 'order_line_id' => '12385',]); + + $this->fixture('Class_Loan_Pnb', + ['id' => 2, + 'record_origin_id' => 'Dilicom-36636', + 'subscriber_id' => '000006', + 'user_id' => 4078, + 'expected_return_date' => '2017-12-13 13:57:33', + 'loan_date' => '2017-11-13 13:57:33', + 'loan_link' => 'https://pnb-dilicom.centprod.com/v2//XXXXXXXX.do', + 'order_line_id' => '12385',]); + + $this->fixture('Class_Album_Item', ['id' => 2, 'quantity' => '20', @@ -3417,11 +3438,12 @@ abstract class PnbDilicomAdminAlbumControllerTestCase extends Admin_AbstractCont 'usage_constraints' => [ $this->fixture('Class_Album_UsageConstraint', - ['id' => 1, + ['id' => 4, 'usage_type' => Class_Album_UsageConstraint::LOAN_CONSTRAINT, 'serialized_datas' => json_encode([Class_Album_UsageConstraint::DURATION => 20, Class_Album_UsageConstraint::QUANTITY => 20, Class_Album_UsageConstraint::MAX_NB_OF_USERS => 15])]), + $this->fixture('Class_Album_UsageConstraint', ['id' => 5, 'usage_type' => Class_Album_UsageConstraint::AVAILABILITY_CONSTRAINT, @@ -3466,20 +3488,19 @@ abstract class PnbDilicomAdminAlbumControllerTestCase extends Admin_AbstractCont 'usage_constraints' => [ $this->fixture('Class_Album_UsageConstraint', - ['id' => 1, + ['id' => 6, 'usage_type' => Class_Album_UsageConstraint::LOAN_CONSTRAINT, 'serialized_datas' => json_encode([Class_Album_UsageConstraint::DURATION => 359, Class_Album_UsageConstraint::QUANTITY => 999999, Class_Album_UsageConstraint::MAX_NB_OF_USERS => 1])]), $this->fixture('Class_Album_UsageConstraint', - ['id' => 2, + ['id' => 7, 'usage_type' => Class_Album_UsageConstraint::DEVICE_SHARE_CONSTRAINT, 'serialized_datas' => json_encode([Class_Album_UsageConstraint::QUANTITY => 6])]), - $this->fixture('Class_Album_UsageConstraint', - ['id' => 3, + ['id' => 8, 'usage_type' => Class_Album_UsageConstraint::AVAILABILITY_CONSTRAINT, 'serialized_datas' => json_encode([Class_Album_UsageConstraint::DURATION => 999999, Class_Album_UsageConstraint::ORDER_LINE_ID => '584837a045ce56ef0a072a8b', @@ -3488,7 +3509,7 @@ abstract class PnbDilicomAdminAlbumControllerTestCase extends Admin_AbstractCont ]); $this->fixture('Class_Loan_Pnb', - ['id' => 2, + ['id' => 3, 'record_origin_id' => 'Dilicom-3663608260879', 'subscriber_id' => '000005', 'user_id' => 4077, @@ -3498,7 +3519,7 @@ abstract class PnbDilicomAdminAlbumControllerTestCase extends Admin_AbstractCont 'order_line_id' => '584837a045ce56ef0a072a8b',]); $this->fixture('Class_Loan_Pnb', - ['id' => 3, + ['id' => 4, 'record_origin_id' => 'Dilicom-3663608260879', 'subscriber_id' => '000006', 'user_id' => 4078, @@ -3795,9 +3816,10 @@ class PnbDilicomAdminAlbumControllerExportCsvTest extends PnbDilicomAdminAlbumCo public function csvShouldContainsAlbumsItems() { $this->assertEquals('Titre;"Prêts / Droits";"Nombre de prêts";"Prêts simultanés / Droits";"Prêts simultanés";"Durée de prêt en jours";"Nombre de jours restant sur la licence";"Date de commande";Auteur;Éditeur;Collection;Année;Genre;Section;Catégorie "Being human being";"10 / 30";10;"2 / 15";2;45;2095;30/03/2015;;;;;;;"Albums non classés" -"Being human being";"20 / 20";20;"5 / 15";5;20;19902;29/08/2015;;;;;;;"Albums non classés" +"Being human being";"20 / 20";20;"0 / 15";5;20;19902;29/08/2015;;;;;;;"Albums non classés" "Hell is from here to eternity";"2 / ∞";2;"1 / 1";1;359;∞;30/03/2015;"Iron Maiden";EMI;"Temple Of Rock";1992;"Heavy Metal";"Espace métal";Fondu -', $this->_response->getBody()); +', + $this->_response->getBody()); } } @@ -3821,7 +3843,7 @@ class PnbDilicomAdminAlbumControllerExportLoansCsvTest extends PnbDilicomAdminAl 'gln' => '333']); $this->fixture('Class_Loan_Pnb', - ['id' => 4, + ['id' => 5, 'record_origin_id' => 'Dilicom-3663608260879', 'subscriber_id' => 9879, 'user_id' => 7, @@ -3831,7 +3853,7 @@ class PnbDilicomAdminAlbumControllerExportLoansCsvTest extends PnbDilicomAdminAl 'order_line_id' => '82377a045ce56ef0a072a8b']); $this->fixture('Class_Loan_Pnb', - ['id' => 5, + ['id' => 6, 'record_origin_id' => 'Dilicom-3663608260879', 'subscriber_id' => 9878, 'user_id' => 12321, @@ -3862,7 +3884,9 @@ class PnbDilicomAdminAlbumControllerExportLoansCsvTest extends PnbDilicomAdminAl /** @test */ public function csvShouldContainsAlbumsItems() { $this->assertEquals('Date;Titre;"Date de commande";Auteur;Éditeur;Collection;Année;Genre;Section;Catégorie;Bibliothèque +16/12/2016;"Being human being";30/03/2015;;;;;;;"Albums non classés"; 16/12/2016;"Hell is from here to eternity";30/03/2015;"Iron Maiden";EMI;"Temple Of Rock";1992;"Heavy Metal";"Espace métal";Fondu; +13/11/2017;"Being human being";30/03/2015;;;;;;;"Albums non classés"; 13/11/2017;"Hell is from here to eternity";30/03/2015;"Iron Maiden";EMI;"Temple Of Rock";1992;"Heavy Metal";"Espace métal";Fondu; 06/01/2020;"Hell is from here to eternity";;"Iron Maiden";EMI;"Temple Of Rock";1992;"Heavy Metal";"Espace métal";Fondu;SomewhereInCode 06/02/2020;"Hell is from here to eternity";;"Iron Maiden";EMI;"Temple Of Rock";1992;"Heavy Metal";"Espace métal";Fondu;SomewhereInCode -- GitLab