Skip to content
Snippets Groups Projects
Commit 85759902 authored by Patrick Barroca's avatar Patrick Barroca :grin:
Browse files

hotline #155838 : handle new error code on nanook pre-registration

parent aa6c1b2f
Branches
Tags
1 merge request!4442hotline #155838 : handle new error code on nanook pre-registration
Pipeline #17251 passed with stage
in 39 minutes and 34 seconds
- correctif #155838 : SIGB Nanook : Prise en compte d'un nouveau code d'erreur pouvant survenir lors d'une préinscription
\ No newline at end of file
......@@ -28,26 +28,28 @@ class Class_Webservice_SIGB_Nanook_Service extends Class_WebService_SIGB_Abstrac
public function __construct() {
$this->_error_codes = ['MaxHoldsOnRecordReached' => $this->_('Réservation impossible, nombre maximum de réservataires par exemplaire atteint.'),
'PatronNoSubscription' => $this->_('Réservation impossible, abonnement échu.'),
'PatronHoldRecordForbidden' => $this->_('Pas de droit de réservation pour ce document.'),
'PatronMaxHoldsReached' => $this->_('Quota atteint pour ce type de document.'),
'PatronHoldNoveltyRecordForbidden' => $this->_('Pas de droit de réservation pour cette nouveauté.'),
'PatronMaxHoldsNoveltyReached' => $this->_('(quotas max pour les nouveautés)'),
'PatronPasswordNotSecure' => $this->_('Le mot de passe choisi est trop simple.'),
'OpacAvailableItemNotHoldable' => $this->_('Document disponible : Pas de droit de réservation d\'un document disponible depuis l\'Opac.'),
'PatronForbiddenHold' => $this->_('Réservation interdite pour l\'abonné.'),
'RecordNotHoldableForPickupLocation' => $this->_('Exemplaire non réservable pour ce site de transfert (interdiction des transferts).'),
'RenewMaxDateReached' => $this->_('Prolongation impossible, le délai est dépassé.'),
'RenewNoSubscription' => $this->_('Prolongation impossible, votre abonnement est échu.'),
'RenewRecordForbidden' => $this->_('Prolongation interdite pour ce type de document.'),
'RenewRecordHold' => $this->_('Prolongation impossible, le document est réservé.'),
'RenewLoanNotFound' => $this->_('Prolongation impossible, pas de prêt trouvé sur cet exemplaire.'),
'RenewNoNewDate' => $this->_('Prolongation sans effet, pas de nouvelle date de retour.'),
'MaxRenewReached' => $this->_('Prolongation impossible, le nombre maximum de prolongations est atteint.'),
'RecordNotFound' => $this->_('Notice non trouvée'),
'PatronNotFound' => $this->_('Abonné non trouvé'),
'HoldLocationOrderNotFound' => $this->_('Erreur paramétrage priorité site de retrait')];
$this->_error_codes =
['MaxHoldsOnRecordReached' => $this->_('Réservation impossible, nombre maximum de réservataires par exemplaire atteint.'),
'PatronNoSubscription' => $this->_('Réservation impossible, abonnement échu.'),
'PatronHoldRecordForbidden' => $this->_('Pas de droit de réservation pour ce document.'),
'PatronMaxHoldsReached' => $this->_('Quota atteint pour ce type de document.'),
'PatronHoldNoveltyRecordForbidden' => $this->_('Pas de droit de réservation pour cette nouveauté.'),
'PatronMaxHoldsNoveltyReached' => $this->_('(quotas max pour les nouveautés)'),
'PatronPasswordNotSecure' => $this->_('Le mot de passe choisi est trop simple.'),
'OpacAvailableItemNotHoldable' => $this->_('Document disponible : Pas de droit de réservation d\'un document disponible depuis l\'Opac.'),
'PatronForbiddenHold' => $this->_('Réservation interdite pour l\'abonné.'),
'RecordNotHoldableForPickupLocation' => $this->_('Exemplaire non réservable pour ce site de transfert (interdiction des transferts).'),
'RenewMaxDateReached' => $this->_('Prolongation impossible, le délai est dépassé.'),
'RenewNoSubscription' => $this->_('Prolongation impossible, votre abonnement est échu.'),
'RenewRecordForbidden' => $this->_('Prolongation interdite pour ce type de document.'),
'RenewRecordHold' => $this->_('Prolongation impossible, le document est réservé.'),
'RenewLoanNotFound' => $this->_('Prolongation impossible, pas de prêt trouvé sur cet exemplaire.'),
'RenewNoNewDate' => $this->_('Prolongation sans effet, pas de nouvelle date de retour.'),
'MaxRenewReached' => $this->_('Prolongation impossible, le nombre maximum de prolongations est atteint.'),
'RecordNotFound' => $this->_('Notice non trouvée'),
'PatronNotFound' => $this->_('Abonné non trouvé'),
'HoldLocationOrderNotFound' => $this->_('Erreur paramétrage priorité site de retrait'),
'PatronAlreadyRegistered' => $this->_('Préinscription impossible, cet abonné existe déjà')];
}
......
......@@ -499,7 +499,7 @@ class AuthControllerPreRegistrationNanookPostDispatchTest
class AuthControllerPreRegistrationNanookPostDispatchErrorTest
abstract class AuthControllerPreRegistrationNanookPostErrorTestCase
extends AuthControllerPreRegistrationNanookTestCase {
public function setUp() {
......@@ -517,7 +517,9 @@ class AuthControllerPreRegistrationNanookPostDispatchErrorTest
'town' => 'titi',
'zipcode' => '123456',
'address' => '123'])
->answers('<?xml version="1.0" encoding="UTF-8"?><error>PreRegisterUserError</error></>');
->answers('<?xml version="1.0" encoding="UTF-8"?><error>'
. $this->_errorCode()
. '</error></>');
$this->postDispatch('/opac/auth/pre-registration', ['site' => '1',
'lastName' => 'Jiro',
......@@ -534,10 +536,53 @@ class AuthControllerPreRegistrationNanookPostDispatchErrorTest
}
/** @test */
public function flashMessengerShouldContainsErrorLabel() {
$this->assertFlashMessengerContentContains($this->_errorLabel());
}
/** @test */
public function responseShouldRedirectToPreRegistrationErrorIdBibOne() {
$this->assertRedirectTo('http://localhost' . BASE_URL . '/auth/pre-registration/id_bib/1');
}
abstract protected function _errorCode() : string;
abstract protected function _errorLabel() : string;
}
class AuthControllerPreRegistrationNanookPostUnknownErrorTest
extends AuthControllerPreRegistrationNanookPostErrorTestCase {
protected function _errorCode() : string {
return 'PreRegisterUserError';
}
protected function _errorLabel() : string {
return 'Échec de la préinscription, une erreur est survenue';
}
}
class AuthControllerPreRegistrationNanookPostPatronAlreadyRegisteredErrorTest
extends AuthControllerPreRegistrationNanookPostErrorTestCase {
protected function _errorCode() : string {
return 'PatronAlreadyRegistered';
}
protected function _errorLabel() : string {
return 'Préinscription impossible, cet abonné existe déjà';
}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment