From 2c5674c289ea663344af49c40fb7cf8cdcadfd74 Mon Sep 17 00:00:00 2001 From: Patrick Barroca <pbarroca@afi-sa.fr> Date: Thu, 24 Oct 2019 11:16:32 +0200 Subject: [PATCH] dev #94557 : rt fix --- FEATURES/94557 | 12 +-- VERSIONS_WIP/94557 | 2 +- .../Whisperies/tests/WhisperiesTest.php | 73 ++++++++++--------- 3 files changed, 47 insertions(+), 40 deletions(-) diff --git a/FEATURES/94557 b/FEATURES/94557 index 37d558ca92d..f042d5168e0 100644 --- a/FEATURES/94557 +++ b/FEATURES/94557 @@ -1,10 +1,10 @@ '94557' => - ['Label' => $this->_('[Explo] [Contractuel] connecteur Whisperies'), - 'Desc' => '', + ['Label' => $this->_('Connecteur Whisperies'), + 'Desc' => $this->_('Des centaines de livres interactifs pour enfants'), 'Image' => '', - 'Video' => '', - 'Category' => '', + 'Video' => 'https://www.youtube.com/watch?v=SL-y3zDVqQs', + 'Category' => $this->_('Bibliothèque numérique'), 'Right' => function($feature_description, $user) {return true;}, - 'Wiki' => '', + 'Wiki' => 'http://wiki.bokeh-library-portal.org/index.php?title=Whisperies', 'Test' => '', - 'Date' => '2019-09-27'], \ No newline at end of file + 'Date' => '2019-10-24'], \ No newline at end of file diff --git a/VERSIONS_WIP/94557 b/VERSIONS_WIP/94557 index d011948d43b..bde5e5744e7 100644 --- a/VERSIONS_WIP/94557 +++ b/VERSIONS_WIP/94557 @@ -1 +1 @@ - - ticket #94557 : connecteur Whisperies \ No newline at end of file + - ticket #94557 : Bibliothèque numérique : Ajout d'un connecteur Whisperies, des centaines de livres interactifs pour enfants \ No newline at end of file diff --git a/library/digital_resources/Whisperies/tests/WhisperiesTest.php b/library/digital_resources/Whisperies/tests/WhisperiesTest.php index 5d34ccc69ab..bfdc554edb0 100644 --- a/library/digital_resources/Whisperies/tests/WhisperiesTest.php +++ b/library/digital_resources/Whisperies/tests/WhisperiesTest.php @@ -23,8 +23,6 @@ class WhisperiesFixtures { use Storm_Test_THelpers; public function prepare() { - Class_AdminVar::set('Whisperies_ENABLE', '1'); - $whisperies_xml = file_get_contents(__DIR__ . '/export.xml'); $http_client = $this->mock() ->whenCalled('open_url') @@ -68,8 +66,8 @@ abstract class WhisperiesActivatedTestCase extends AbstractControllerTestCase { -class WhisperiesSsoTest extends WhisperiesActivatedTestCase { +class WhisperiesSsoTest extends WhisperiesActivatedTestCase { public function setUp() { parent::setUp(); ZendAfi_Auth::getInstance()->logUser($this->_user); @@ -85,14 +83,26 @@ class WhisperiesSsoTest extends WhisperiesActivatedTestCase { /** @test */ - public function shouldRedirectToResource() { + public function userWithPermissionshouldBeRedirectedToResource() { $ticket = (new Class_CasTicket())->getTicketForCurrentUser(); $this->dispatch('/opac/modules/' . Class_DigitalResource::getInstance()->getSsoActionForPlugin('Whisperies'), true); $this->assertXPathContentContains('//script', 'https://whisperies.com/mediatheques?ticket='.$ticket, $this->_response->getBody()); + } + + /** @test */ + public function userWithRoleInviteShouldNotHaveAccessToModulesWhisperies() { + $tom = $this->fixture('Class_Users', + ['id' => 1, + 'login' => 'Tom', + 'password' => 'pwd']); + ZendAfi_Auth::getInstance()->logUser($tom); + $this->dispatch('/opac/modules/' . Class_DigitalResource::getInstance()->getSsoActionForPlugin('Whisperies'), true); + + $this->assertFlashMessengerContentContains('Votre compte n\'est pas autorisé à accéder à cette ressource.'); } } @@ -176,55 +186,52 @@ class WhisperiesDashboardActivatedTest extends WhisperiesActivatedTestCase { } + + class WhisperiesHarvestTest extends AbstractControllerTestCase { protected $_storm_default_to_volatile = true, - $_tom; + $_album, + $_record; public function setUp() { parent::setUp(); Storm_Cache::beVolatile(); (new WhisperiesFixtures())->prepare()->harvest(); + $this->_album = Class_Album::find(1); + $this->_album->index(); + $this->_record = Class_Notice::find(1); + } - Class_Album::find(1)->index(); - $this->_tom = $this->fixture('Class_Users', - ['id' => 1, - 'login' => 'Tom', - 'password' => 'pwd']); - ZendAfi_Auth::getInstance()->logUser($this->_tom); + + public function recordProperties() { + return [['titre_principal', 'Aventure sans pareille d\'une boîte normale de taille moyenne'], + ['resume', 'Dans le sixième épisode de la saison 3 des Flashbacks'], + ]; } - /** @test */ - public function userWithRoleInviteShouldNotHaveAccessToModulesLSQR() { - $this->dispatch('/opac/modules/whisperies', true); - $this->assertFlashMessengerContentContains('Votre compte n\'est pas autorisé à accéder à cette ressource.'); + /** @test + @dataProvider recordProperties */ + public function recordPropertyShouldContain($property, $value) { + $this->assertContains($value, $this->_record->callGetterByAttributeName($property)); } - public function keyValues() { - return [['Aventure sans pareille d\'une boîte normale de taille moyenne', 'getTitrePrincipal'], - ['Dans le sixième épisode de la saison 3 des Flashbacks', 'getResume'], - ['Elle contient un trésor', 'getAlbum->getDescription'], - ['9782376782834', 'getAlbum->getEan'], - ['1', 'getAlbum->getGenre'], - ['https://www.whisperies.com/mediatheques/fiche/aventure-sans-pareille-d-une-boite-normale-de-taille-moyenne' ,'getAlbum->getExternalUri'], - ['https://www.whisperies.com/medias/stories/13832/1659f6628ba8e76a835d7c893e3e9d8a.png' ,'getAlbum->getPoster'] + public function albumProperties() { + return [['description', 'Elle contient un trésor'], + ['ean', '9782376782834'], + ['genre', '1'], + ['external_uri', 'https://www.whisperies.com/mediatheques/fiche/aventure-sans-pareille-d-une-boite-normale-de-taille-moyenne'], + ['poster', 'https://www.whisperies.com/medias/stories/13832/1659f6628ba8e76a835d7c893e3e9d8a.png'], ]; } /** @test - @dataProvider keyValues */ - public function checkHarvest($key,$value) { - $notice = Class_Notice::find(1); - if (count($subfunc = explode('->',$value))>1) { - $notice = call_user_func([Class_Notice::find(1), $subfunc[0]]); - $value = $subfunc[1]; - - } - $this->assertContains($key,call_user_func([$notice, $value])); + @dataProvider albumProperties */ + public function albumPropertyShouldContain($property, $value) { + $this->assertContains($value, $this->_album->callGetterByAttributeName($property)); } - } -- GitLab