Skip to content
Snippets Groups Projects
Commit 7c2fb303 authored by llaffont's avatar llaffont
Browse files

Adaptation tests NoticeHTML

parent 877f8e3a
Branches
Tags
No related merge requests found
......@@ -6066,6 +6066,8 @@ tests/library/ZendAfi/View/Helper/HistoriqueRechercheTest.php -text
tests/library/ZendAfi/View/Helper/IconeSupportTest.php -text
tests/library/ZendAfi/View/Helper/IframeContainerTest.php -text
tests/library/ZendAfi/View/Helper/Java/MenuImageTest.php -text
tests/library/ZendAfi/View/Helper/Notice/AvisTest.php -text
tests/library/ZendAfi/View/Helper/Notice/ExemplairesReservationTest.php -text
tests/library/ZendAfi/View/Helper/Notice/FacettesTypeDocTest.php -text
tests/library/ZendAfi/View/Helper/Notice/MurTest.php -text
tests/library/ZendAfi/View/Helper/PageContextTest.php -text
......
<?php
/**
* Copyright (c) 2012, Agence Française Informatique (AFI). All rights reserved.
*
* AFI-OPAC 2.0 is free software; you can redistribute it and/or modify
* it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
* the Free Software Foundation.
*
* There are special exceptions to the terms and conditions of the AGPL as it
* is applied to this software (see README file).
*
* AFI-OPAC 2.0 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
* along with AFI-OPAC 2.0; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
class ZendAfi_View_Helper_Notice_AvisTest extends ViewHelperTestCase {
protected $_html;
public function setUp() {
parent::setUp();
$this->_helper = new ZendAfi_View_Helper_Notice_Avis();
$this->_helper->setView(new ZendAfi_Controller_Action_Helper_View());
$this->_view = new ZendAfi_Controller_Action_Helper_View();
Class_Profil::setCurrentProfil(new Class_Profil());
Zend_Registry::get('locale')->setLocale('fr');
Zend_Registry::get('translate')->setLocale('fr');
$this->millenium = new Class_Notice();
$this->millenium
->setId(25);
$this->avis = array("bib" => array("nombre" => 0),
"abonne" => array("nombre" => 0));
$this->avis_bib_seulement = new Class_AdminVar();
$this
->_generateLoaderFor('Class_AdminVar', array('find'))
->expects($this->atLeastOnce())
->method('find')
->with('AVIS_BIB_SEULEMENT')
->will($this->returnValue($this->avis_bib_seulement));
$account = new stdClass();
$account->username = 'AutoTest' . time();
$account->password = md5( 'password' );
$account->ID_USER = 0;
$account->ROLE_LEVEL = 4;
$account->confirmed = true;
$account->enabled = true;
ZendAfi_Auth::getInstance()->getStorage()->write($account);
}
public function testVisibleWithAdminAndAvisReaderAllowed() {
ZendAfi_Auth::getInstance()->getIdentity()->ROLE_LEVEL = 5;
$this->avis_bib_seulement->setValeur('0');
$html = $this->_helper->getAvis($this->millenium, $this->avis, $this->_view);
$this->assertTrue(strpos($html, 'Donnez ou modifiez votre avis') != false, $html);
}
public function testVisibleWithReaderAndAvisReaderAllowed() {
ZendAfi_Auth::getInstance()->getIdentity()->ROLE_LEVEL = 1;
$this->avis_bib_seulement->setValeur('0');
$html = $this->_helper->getAvis($this->millenium, $this->avis, $this->_view);
$this->assertTrue(strpos($html, 'Donnez ou modifiez votre avis') != false);
}
public function testVisibleWithAdminAndAvisReaderForbidden() {
ZendAfi_Auth::getInstance()->getIdentity()->ROLE_LEVEL = 5;
$this->avis_bib_seulement->setValeur('1');
$html = $this->_helper->getAvis($this->millenium, $this->avis, $this->_view);
$this->assertTrue(strpos($html, 'Donnez ou modifiez votre avis') != false);
}
public function testInvisibleWithReaderAndAvisReaderForbidden() {
ZendAfi_Auth::getInstance()->getIdentity()->ROLE_LEVEL = 1;
$this->avis_bib_seulement->setValeur('1');
$html = $this->_helper->getAvis($this->millenium, $this->avis, $this->_view);
$this->assertFalse(strpos($html, 'Donnez ou modifiez votre avis'));
}
}
?>
\ No newline at end of file
<?php
/**
* Copyright (c) 2012, Agence Française Informatique (AFI). All rights reserved.
*
* AFI-OPAC 2.0 is free software; you can redistribute it and/or modify
* it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
* the Free Software Foundation.
*
* There are special exceptions to the terms and conditions of the AGPL as it
* is applied to this software (see README file).
*
* AFI-OPAC 2.0 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
* along with AFI-OPAC 2.0; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
abstract class ZendAfi_View_Helper_Notice_ExemplairesTestCase extends ViewHelperTestCase {
protected $_html;
public function setUp() {
parent::setUp();
$this->_helper = new ZendAfi_View_Helper_Notice_Exemplaires();
$this->_helper->setView(new ZendAfi_Controller_Action_Helper_View());
}
}
class NoticeHtmlGetExemplairesEmptyTest extends ZendAfi_View_Helper_Notice_ExemplairesTestCase {
/** @test */
function noticeHTMLShouldReturnEmptyString() {
$this->assertEquals('', $this->_helper->Notice_Exemplaires(array()));
}
}
class NoticeHtmlGetExemplairesWithOneExemplaireNoWebServiceTest extends ZendAfi_View_Helper_Notice_ExemplairesTestCase {
public function setUp() {
parent::setUp();
Class_Profil::setCurrentProfil(new Class_Profil());
$exemplaire = array('id_bib' => -1,
'id_notice' => '24765',
'annexe' => 'MOUL',
'count(*)' => 2, //???
'cote' => 'DSEM',
'dispo' => "Disponible",
'code_barres' => "12345");
$this->html = $this->_helper->Notice_Exemplaires(array($exemplaire));
}
/** @test */
function noticeHTMLShouldDisplayTableHeader() {
$this->assertContains('table', $this->html);
}
/** @test */
public function reservationLinkShouldNotBeVisible() {
$this->assertNotXPath($this->html,
'//a[@data-popup="true"]');
}
}
abstract class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase extends ZendAfi_View_Helper_Notice_ExemplairesTestCase {
protected $exemplaire;
public function setUp() {
parent::setUp();
$_SESSION['id_profil'] = 4;
Class_Profil::setCurrentProfil(
Class_Profil::getLoader()
->newInstanceWithId(4)
->setCfgNotice(array('exemplaires' => array('grouper' => 1,
'bib' => 1,
'annexe' => 1,
'section' => 1,
'emplacement' => 1,
'dispo' => 1,
'date_retour' => 1,
'localisation' => 1,
'plan' => 1,
'resa' => 1))));
Class_IntBib::getLoader()
->newInstanceWithId(1)
->setCommSigb(Class_IntBib::COM_MICROBIB)
->setCommParams('');
Class_WebService_SIGB_Microbib::setService(Storm_Test_ObjectWrapper::on(new StdClass())
->whenCalled('getExemplaire')
->answers(Class_WebService_SIGB_Exemplaire::newInstance()
->setId(5)
->setDisponibiliteEnPret()
->setDateRetour('20/03/2012')
->beReservable())
->whenCalled('isConnected')
->answers(true)
->getWrapper());
$this->exemplaire = array('id' => 12,
'id_bib' => 1,
'id_notice' => '24765',
'id_origine' => '666',
'annexe' => 'MOUL',
'count(*)' => 2, //???
'cote' => 'DSEM',
'dispo' => "Disponible",
'code_barres' => "12345",
'section' => 3,
'emplacement' => 2);
}
}
class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTest
extends NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase {
public function setUp() {
parent::setUp();
Class_CosmoVar::newInstanceWithId('site_retrait_resa', ['valeur' => 0]);
$this->html = $this->_helper->Notice_Exemplaires(array($this->exemplaire));
}
/** @test */
public function reservationLinkShouldBePopup() {
$this->assertXPath($this->html,
'//a[@data-popup="true"][contains(@href, "recherche/reservation-pickup-ajax/id_bib/1/id_origine/12/code_annexe/MOUL")]');
}
}
class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceAndPickupActiveTest
extends NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase {
public function setUp() {
parent::setUp();
Class_CosmoVar::newInstanceWithId('site_retrait_resa', ['valeur' => 1]);
$this->html = $this->_helper->Notice_Exemplaires(array($this->exemplaire));
}
/** @test */
public function reservationLinkShouldBePopup() {
$this->assertXPath($this->html,
'//a[@data-popup="true"][contains(@href, "recherche/reservation-pickup-ajax/id_bib/1/id_origine/12/code_annexe/MOUL")]');
}
}
?>
\ No newline at end of file
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