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

dev #94557 : rt fix

parent cf324d7f
Branches
Tags
3 merge requests!3297WIP: Master,!3288Dev#94557 contractuel connecteur whisperies,!3286Dev#94557 contractuel connecteur whisperies
Pipeline #8565 passed with stage
in 40 minutes and 20 seconds
'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
- 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
......@@ -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));
}
}
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