diff --git a/VERSIONS_HOTLINE/157779 b/VERSIONS_HOTLINE/157779 new file mode 100644 index 0000000000000000000000000000000000000000..38b8948898e5d064c25f06c09945962df9dc8124 --- /dev/null +++ b/VERSIONS_HOTLINE/157779 @@ -0,0 +1,2 @@ + - correctif #157779 : Magasin de thèmes : correction du lien de suppression de carte liée + dans la configuration du compte lecteur. \ No newline at end of file diff --git a/library/templates/Intonation/Library/View/Wrapper/Card.php b/library/templates/Intonation/Library/View/Wrapper/Card.php index a19946c0c1beab8400721eb335db0d76319b742b..86ce58578ba537437cefd9dfe84e73625e5268d8 100644 --- a/library/templates/Intonation/Library/View/Wrapper/Card.php +++ b/library/templates/Intonation/Library/View/Wrapper/Card.php @@ -35,7 +35,7 @@ class Intonation_Library_View_Wrapper_Card extends Intonation_Library_View_Wrapp return [(new Intonation_Library_Link) ->setUrl($this->_view->url(['controller' => 'abonne', 'action' => 'unlink-card', - 'child_id' => $this->_model->getId()])) + 'id' => $this->_model->getId()])) ->setImage($this->getIco('unlink_user', 'utils')) ->setText($this->_('Supprimer')) ->setTitle($this->_('Ne plus gérer la carte de %s', $this->getMainTitle())) diff --git a/tests/scenarios/MultiCards/MultiCardsTest.php b/tests/scenarios/MultiCards/MultiCardsTest.php index 024b24b2131938ed377da513823f825e94989d19..195a1d541919f5c08c7240bb2ff09327ae21b0f3 100644 --- a/tests/scenarios/MultiCards/MultiCardsTest.php +++ b/tests/scenarios/MultiCards/MultiCardsTest.php @@ -21,44 +21,43 @@ abstract class Scenario_AbonneMultiCardsTestCase extends AbstractControllerTestCase { - protected - $_storm_default_to_volatile = true; public function setUp() { parent::setUp(); - $death_star = $this->fixture('Class_Bib', - ['id' => 23, - 'libelle' => 'Death Star', - ]); - - $darky = $this->fixture('Class_Users', - ['id' => 1, - 'login' => 'darky', - 'password' => 'darkside', - 'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB, - 'idabon' => '12345', - 'date_fin' => '2016-12-25', - 'bib' => $death_star, - ]); - - $e_wok = $this->fixture('Class_Users', - ['id' => 666, - 'login' => 'e', - 'password' => 'wok', - 'role_level' => ZendAfi_Acl_AdminControllerRoles::INVITE]); - - $luke = $this->fixture('Class_Users', - ['id' => 2, - 'login' => 'luke', - 'password' => 'ilovelightsabers', - 'nom' => 'Skywalker', - 'prenom' => 'Luke', - 'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB, - 'idabon' => '6789', - 'date_fin' => '2016-11-01', - 'bib' => $death_star - ]); + $death_star = + $this->fixture(Class_Bib::class, + ['id' => 23, + 'libelle' => 'Death Star']); + + $darky = + $this->fixture(Class_Users::class, + ['id' => 1, + 'login' => 'darky', + 'password' => 'darkside', + 'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB, + 'idabon' => '12345', + 'date_fin' => '2016-12-25', + 'bib' => $death_star, + ]); + + $this->fixture(Class_Users::class, + ['id' => 666, + 'login' => 'e', + 'password' => 'wok', + 'role_level' => ZendAfi_Acl_AdminControllerRoles::INVITE]); + + $this->fixture(Class_Users::class, + ['id' => 2, + 'login' => 'luke', + 'password' => 'ilovelightsabers', + 'nom' => 'Skywalker', + 'prenom' => 'Luke', + 'role_level' => ZendAfi_Acl_AdminControllerRoles::ABONNE_SIGB, + 'idabon' => '6789', + 'date_fin' => '2016-11-01', + 'bib' => $death_star + ]); Class_Users::clearCache(); } @@ -68,11 +67,11 @@ abstract class Scenario_AbonneMultiCardsTestCase extends AbstractControllerTestC class Scenario_AbonneMultiCardsFicheTest extends Scenario_AbonneMultiCardsTestCase { + public function setUp() { parent::setUp(); ZendAfi_Auth::getInstance()->logUser(Class_Users::find(1)); - - $this->dispatch('/abonne/fiche', true); + $this->dispatch('/abonne/fiche'); } @@ -86,11 +85,11 @@ class Scenario_AbonneMultiCardsFicheTest extends Scenario_AbonneMultiCardsTestCa class Scenario_AbonneMultiCardsCardsActionTest extends Scenario_AbonneMultiCardsTestCase { + public function setUp() { parent::setUp(); ZendAfi_Auth::getInstance()->logUser(Class_Users::find(1)); - - $this->dispatch('/abonne/cards', true); + $this->dispatch('/abonne/cards'); } @@ -140,12 +139,12 @@ class Scenario_AbonneMultiCardsCardsActionTest extends Scenario_AbonneMultiCards - class Scenario_AbonneMultiCardsOfEwokActionTest extends Scenario_AbonneMultiCardsTestCase { + public function setUp() { parent::setUp(); ZendAfi_Auth::getInstance()->logUser(Class_Users::find(666)); - $this->dispatch('/abonne/cards', true); + $this->dispatch('/abonne/cards'); } @@ -158,7 +157,9 @@ class Scenario_AbonneMultiCardsOfEwokActionTest extends Scenario_AbonneMultiCard -class Scenario_AbonneMultiCardsWithCardsActionTest extends Scenario_AbonneMultiCardsTestCase { +class Scenario_AbonneMultiCardsWithCardsActionTest + extends Scenario_AbonneMultiCardsTestCase { + public function setUp() { parent::setUp(); @@ -168,7 +169,7 @@ class Scenario_AbonneMultiCardsWithCardsActionTest extends Scenario_AbonneMultiC ->addChildCard(Class_Users::find(2)) ->save(); - $this->dispatch('/abonne/cards', true); + $this->dispatch('/abonne/cards'); } @@ -212,6 +213,7 @@ class Scenario_AbonneMultiCardsWithCardsActionTest extends Scenario_AbonneMultiC class Scenario_AbonneMultiCardsWithCardsUnlinkActionTest extends Scenario_AbonneMultiCardsTestCase { + public function setUp() { parent::setUp(); @@ -219,7 +221,7 @@ class Scenario_AbonneMultiCardsWithCardsUnlinkActionTest extends Scenario_Abonne ->addChildCard(Class_Users::find(2)) ->save(); - $this->dispatch('/abonne/unlink-card/id/2', true); + $this->dispatch('/abonne/unlink-card/id/2'); } @@ -244,9 +246,12 @@ class Scenario_AbonneMultiCardsWithCardsUnlinkActionTest extends Scenario_Abonne -abstract class Scenario_AbonneMultiCardsAccountOfEwokTestCase extends Scenario_AbonneMultiCardsTestCase { +abstract class Scenario_AbonneMultiCardsAccountOfEwokTestCase + extends Scenario_AbonneMultiCardsTestCase { + protected $_comm; + public function setUp() { parent::setUp(); Class_CommSigb::setInstance($this->_comm = $this->mock() @@ -302,21 +307,22 @@ class Scenario_AbonneMultiCardsAccountOfEwokFicheActionTest public function setUp() { parent::setUp(); - $cfg_accueil = ['modules' => [ - ['division' => 4, - 'type_module' => 'LOGIN', - 'preferences' => []], - ['division' => 1, - 'type_module' => 'RESERVATIONS', - 'preferences' => []], - ['division' => 1, - 'type_module' => 'PRETS', - 'preferences' => []]]]; + $cfg_accueil = + ['modules' => [['division' => 4, + 'type_module' => 'LOGIN', + 'preferences' => []], + ['division' => 1, + 'type_module' => 'RESERVATIONS', + 'preferences' => []], + ['division' => 1, + 'type_module' => 'PRETS', + 'preferences' => []]]]; + Class_Profil::getCurrentProfil() ->setCfgAccueil($cfg_accueil) ->assertSave(); - $this->dispatch('/abonne/fiche', true); + $this->dispatch('/abonne/fiche'); } @@ -337,8 +343,7 @@ class Scenario_AbonneMultiCardsAccountOfEwokFicheActionTest /** @test */ public function holdsWidgetShouldContainsUlLiWithArcadia() { $this->assertXPathContentContains('//div[@class="boite reservations"]//ul//li', - 'Arcadia', - $this->_response->getBody()); + 'Arcadia'); } @@ -369,8 +374,7 @@ class Scenario_AbonneMultiCardsAccountOfEwokFicheActionTest /** @test */ public function holdsButtonShouldContainsYouHave1Hold() { - $this->assertXPathContentContains('//a', 'Vous avez 1 réservation', - $this->_response->getBody()); + $this->assertXPathContentContains('//a', 'Vous avez 1 réservation'); } } @@ -466,7 +470,7 @@ class Scenario_AbonneMultiCardsAccountOfEwokPretsActionTest public function setUp() { parent::setUp(); - $this->dispatch('/abonne/prets', true); + $this->dispatch('/abonne/prets'); } @@ -517,7 +521,7 @@ class Scenario_AbonneMultiCardsAccountOfEwokReservationsActionTest public function setUp() { parent::setUp(); - $this->dispatch('/abonne/reservations', true); + $this->dispatch('/abonne/reservations'); } @@ -550,7 +554,7 @@ class Scenario_AbonneMultiCardsAccountOfEwokCancelReservationsActionTest parent::setUp(); $this->_comm->whenCalled('supprimerReservation')->answers([]); - $this->dispatch('/abonne/reservations/id_delete/2_78', true); + $this->dispatch('/abonne/reservations/id_delete/2_78'); } @@ -562,8 +566,7 @@ class Scenario_AbonneMultiCardsAccountOfEwokCancelReservationsActionTest /** @test */ public function popupShouldContainsMessageVotreReservationDuDocumentAlbatorArcadiaWithoutBrABienEteSupprime() { - $this->assertFlashMessengerContentContains('Votre réservation du document Albator Arcadia a bien été supprimée', - $this->_response->getBody()); + $this->assertFlashMessengerContentContains('Votre réservation du document Albator Arcadia a bien été supprimée'); } } @@ -640,7 +643,7 @@ class Scenario_AbonneMultiCardsDiscardParentLinkNotificationActionTest ZendAfi_Auth::getInstance()->logUser(Class_Users::find(2)); - $this->dispatch('/abonne/discard-parent-link-notification/id/1;666', true); + $this->dispatch('/abonne/discard-parent-link-notification/id/1;666'); } @@ -671,7 +674,9 @@ class Scenario_AbonneMultiCardsDiscardParentLinkNotificationActionTest -class Scenario_AbonneMultiCardsLukeWithParentCardActionTest extends Scenario_AbonneMultiCardsTestCase { +class Scenario_AbonneMultiCardsLukeWithParentCardActionTest + extends Scenario_AbonneMultiCardsTestCase { + public function setUp() { parent::setUp(); @@ -681,7 +686,7 @@ class Scenario_AbonneMultiCardsLukeWithParentCardActionTest extends Scenario_Abo ->addParentCard(Class_Users::find(1)) ->save(); - $this->dispatch('/abonne/cards', true); + $this->dispatch('/abonne/cards'); } @@ -710,7 +715,7 @@ class Scenario_AbonneMultiCardsLukeWithParentCardUnlinkActionTest extends Scenar ->addParentCard(Class_Users::find(1)) ->save(); - $this->dispatch('/abonne/unlink-parent-card/id/1', true); + $this->dispatch('/abonne/unlink-parent-card/id/1'); } @@ -736,7 +741,9 @@ class Scenario_AbonneMultiCardsLukeWithParentCardUnlinkActionTest extends Scenar -class Scenario_AbonneMultiCardsErrorsOnUnlinkActionsTest extends Scenario_AbonneMultiCardsTestCase { +class Scenario_AbonneMultiCardsErrorsOnUnlinkActionsTest + extends Scenario_AbonneMultiCardsTestCase { + public function setUp() { parent::setUp(); ZendAfi_Auth::getInstance()->logUser(Class_Users::find(1)); @@ -745,37 +752,35 @@ class Scenario_AbonneMultiCardsErrorsOnUnlinkActionsTest extends Scenario_Abonne /** @test */ public function unlinkCardWithUnexistingUserIdShouldDisplayError() { - $this->dispatch('/abonne/unlink-card/id/345', true); + $this->dispatch('/abonne/unlink-card/id/345'); $this->assertFlashMessengerContentContains('Carte introuvable'); } /** @test */ public function unlinkCardWithUnexistingRelationShouldDisplayError() { - $this->dispatch('/abonne/unlink-card/id/1', true); + $this->dispatch('/abonne/unlink-card/id/1'); $this->assertFlashMessengerContentContains('Carte introuvable'); } /** @test */ public function unlinkParentCartWithUnexistingUserIdShouldDisplayError() { - $this->dispatch('/abonne/unlink-parent-card/id/345', true); + $this->dispatch('/abonne/unlink-parent-card/id/345'); $this->assertFlashMessengerContentContains('Carte introuvable'); } /** @test */ public function unlinkParentCartWithUnexistingRelationShouldDisplayError() { - $this->dispatch('/abonne/unlink-parent-card/id/1', true); + $this->dispatch('/abonne/unlink-parent-card/id/1'); $this->assertFlashMessengerContentContains('Carte introuvable'); } - } - class Scenario_AbonneMultiCardsAccountOfEwokSmartphoneAbonneActionTest extends Scenario_AbonneMultiCardsAccountOfEwokTestCase { @@ -785,7 +790,7 @@ class Scenario_AbonneMultiCardsAccountOfEwokSmartphoneAbonneActionTest ->beTelephone() ->assertSave(); - $this->dispatch('/abonne', true); + $this->dispatch('/abonne'); } @@ -821,8 +826,8 @@ class Scenario_AbonneMultiCardsAccountOfEwokSmartphoneAbonneActionTest + class Scenario_AbonneMultiCardsAdminMenu extends Admin_AbstractControllerTestCase { - protected $_storm_default_to_volatile = true; public function setUp() { parent::setUp(); @@ -841,15 +846,59 @@ class Scenario_AbonneMultiCardsAdminMenu extends Admin_AbstractControllerTestCas /** @test */ public function profilMenusSelectShouldContainsEntryFormMyCards() { - $this->dispatch('/admin/widget/edit-menu/id/H/id_profil/2', true); + $this->dispatch('/admin/widget/edit-menu/id/H/id_profil/2'); $this->assertXPathContentContains('//ul//li', 'cartes'); } /** @test */ public function horizontalMenuShouldContainsLinkToCards() { - $this->dispatch('/', true); + $this->dispatch('/'); $this->assertXPathContentContains("//div[@id='menu_horizontal']//li//a[contains(@href, '/abonne/cards')]", 'Cards'); } } + + + + +class MultiCardsInIntonationTest extends Scenario_AbonneMultiCardsTestCase { + + public function setUp() { + parent::setUp(); + + ZendAfi_Auth::getInstance()->logUser(Class_Users::find(1)); + + Class_Users::getIdentity() + ->addChildCard(Class_Users::find(2)) + ->save(); + + $this->_buildTemplateProfil(['id' => 7897]); + + $this->dispatch('/abonne/cards'); + } + + + /** @test */ + public function darkyShouldAppearCarousel() { + $this->assertXPathContentContains('//div[@class="carousel slide multiple_carousel"]//div[@class="carousel-item active"]//div[@class="card_grid"]//div[1][@class="card card_template card_Intonation_Library_View_Wrapper_Card"]//div[@class="card-title card_title card_title_Intonation_Library_View_Wrapper_Card"]', 'darky'); + } + + + /** @test */ + public function lukeShouldAppearInCarousel() { + $this->assertXPathContentContains('//div[@class="carousel slide multiple_carousel"]//div[@class="carousel-item active"]//div[@class="card_grid"]//div[2][@class="card card_template card_Intonation_Library_View_Wrapper_Card"]//div[@class="card-title card_title card_title_Intonation_Library_View_Wrapper_Card"]', 'Luke'); + } + + + /** @test */ + public function darkyShouldNotHaveUnlinkLink() { + $this->assertNotXPath('//div[@class="carousel slide multiple_carousel"]//div[@class="carousel-item active"]//div[@class="card_grid"]//div[1][@class="card card_template card_Intonation_Library_View_Wrapper_Card"]//a[contains(@href, "unlink")]'); + } + + + /** @test */ + public function lukeShouldHaveUnlinkLinkWithHrefAbonneUnlinkIdTwo() { + $this->assertXPath('//div[@class="carousel slide multiple_carousel"]//div[@class="carousel-item active"]//div[@class="card_grid"]//div[2][@class="card card_template card_Intonation_Library_View_Wrapper_Card"]//a[@href= "/abonne/unlink-card/id/2"]'); + } +} \ No newline at end of file