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

Merge branch 'hotline#15779_fix_newsletter_with_catalog' into 'hotline_6.50'

Hotline#15779 fix newsletter with catalog

See merge request !349
parents f9679a40 cd0125fc
Branches
Tags
5 merge requests!366Master,!365Master,!364Master,!363Master,!361Hotline 6.50
......@@ -16,7 +16,7 @@
*
* 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
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
//////////////////////////////////////////////////////////////////////////////////////
......@@ -27,8 +27,7 @@ class NoticeLoader extends Storm_Model_Loader {
public function getNoticesFromPreferences($preferences) {
$catalogue = new Class_Catalogue();
$requetes = $catalogue->getRequetes($preferences);
$requetes = Class_Catalogue::getRequetes($preferences);
$notices = $this->findAll($requetes["req_liste"]);
// Tirage aleatoire
......@@ -53,12 +52,12 @@ class NoticeLoader extends Storm_Model_Loader {
return (new Storm_Cache())
->useImplodeExplodeSerialization()
->memoize([$req,__CLASS__,__FUNCTION__],
->memoize([$req,__CLASS__,__FUNCTION__],
function() use ($req) {
return Zend_Registry::get('sql')->fetchAllByColumn($req);
});
}
public function selectIdsFromRequest($request) {
return "Select inner_table.id_notice from ( ".$request." ) inner_table";
......@@ -70,17 +69,17 @@ class NoticeLoader extends Storm_Model_Loader {
$ids = $this->getNoticeIdsByRequeteRecherche($req);
if ($nb_par_page)
$ids = array_slice($ids,
($page_no-1) * $nb_par_page,
if ($nb_par_page)
$ids = array_slice($ids,
($page_no-1) * $nb_par_page,
$nb_par_page);
if (empty($ids))
return [];
return Class_Notice::getLoader()->findAllBy(['id_notice' => $ids,
'order' => 'FIELD(id_notice, '.implode(',', $ids).')']);
}
}
public function countBySQLSelect($req) {
......@@ -119,7 +118,7 @@ class NoticeLoader extends Storm_Model_Loader {
if (!$clef_alpha = $frbr_link->extractKeyFromUrl($url))
return;
return Class_Notice::getNoticeByClefAlpha($clef_alpha);
return Class_Notice::getNoticeByClefAlpha($clef_alpha);
}
......@@ -227,12 +226,12 @@ class Class_Notice extends Storm_Model_Abstract {
if ($id_site == $exemplaire->getIdBib())
$exemplaire_on_site []= $exemplaire;
}
return $exemplaire_on_site;
}
public function isEpub() {
if ($this->getAlbum()
if ($this->getAlbum()
&& $this->getAlbum()->isEpub())
return true;
return false;
......@@ -271,7 +270,7 @@ class Class_Notice extends Storm_Model_Abstract {
* @return Class_Exemplaire
*/
public function getFirstExemplaire() {
return isset($this->_first_exemplaire)
return isset($this->_first_exemplaire)
? $this->_first_exemplaire
: $this->_first_exemplaire = Class_Exemplaire::findFirstBy(['id_notice' => $this->getId()]);
}
......@@ -391,8 +390,8 @@ class Class_Notice extends Storm_Model_Abstract {
public function withUrlVignetteDo($closure) {
return $closure($this,
$this->hasVignette()?$this->_attributes['url_vignette']:'',
return $closure($this,
$this->hasVignette()?$this->_attributes['url_vignette']:'',
isset($this->_attributes['url_image']) ? $this->_attributes['url_image'] : '');
}
......@@ -534,7 +533,7 @@ class Class_Notice extends Storm_Model_Abstract {
$data = $this->get_subfield("200", "b");
return $this->filtreTitre($data[0]);
}
// ----------------------------------------------------------------
// Renvoie la clef chapeau et le no de partie
// ----------------------------------------------------------------
......@@ -628,7 +627,7 @@ class Class_Notice extends Storm_Model_Abstract {
$criteres_recherche = new Class_CriteresRecherche();
$criteres_recherche->setParams(['facette' => $facette]);
$moteur =Class_MoteurRecherche::getInstance();
$ret=$moteur->lancerRecherche($criteres_recherche);
return fetchAll($ret['req_liste'],10);
......@@ -640,7 +639,7 @@ class Class_Notice extends Storm_Model_Abstract {
return [];
return $this->getLoader()->getAllNoticesByClefChapeau($this->getClefChapeau());
}
......@@ -691,7 +690,7 @@ class Class_Notice extends Storm_Model_Abstract {
$mots = explode(" ", trim($champ));
foreach ($mots as $mot) {
$mot = $ix->getExpressionRecherche($mot);
if ($mot)
if ($mot)
$recherche .= ' ' . $mot;
}
}
......@@ -763,7 +762,7 @@ class Class_Notice extends Storm_Model_Abstract {
// On cherche le chapeau et le n°
if ($data = $this->get_subfield("461", "t")) {
$chapeau = $this->filtreTitre($data[0]);
if ($chapeau)
if ($chapeau)
{
if ($titre == $chapeau) $titre = "";
$data=$this->get_subfield('461','v');
......@@ -801,7 +800,7 @@ class Class_Notice extends Storm_Model_Abstract {
}
return $titre;
}
// ----------------------------------------------------------------
// Label docs sonores
// ----------------------------------------------------------------
......@@ -836,13 +835,13 @@ class Class_Notice extends Storm_Model_Abstract {
return true;
return false;
}
public function getMorceaux() {
return Class_Notice_TracksReader::getTracksOf($this);
}
// ----------------------------------------------------------------
// Complément du titre (1er seulement)
// ----------------------------------------------------------------
......@@ -852,7 +851,7 @@ class Class_Notice extends Storm_Model_Abstract {
$titre = $this->filtreTitre($titre[0]);
return trim($titre);
}
// ----------------------------------------------------------------
// ISSN
// ----------------------------------------------------------------
......@@ -861,7 +860,7 @@ class Class_Notice extends Storm_Model_Abstract {
$issn = $this->get_subfield("011", "a");
return trim($issn[0]);
}
// ----------------------------------------------------------------
// Mention d'edition
// ----------------------------------------------------------------
......@@ -919,19 +918,19 @@ class Class_Notice extends Storm_Model_Abstract {
$deb = substr($titre, 0, 6);
$titre = str_replace('?', '', $deb) . substr($titre, 6);
}
// filtrage caractères terminaux
$filtre = ["/", ";", ",", ":"];
foreach($filtre as $car) {
if (substr($titre,-1,1) == $car)
$titre = substr($titre, 0, strlen($titre)-1);
}
$titre = str_replace("#BR#",BR, $titre);
return trim($titre);
}
public function getAuteurPrincipal() {
if (!isset($this->_auteur_principal)) {
$this->_auteur_principal = '';
......@@ -945,7 +944,7 @@ class Class_Notice extends Storm_Model_Abstract {
}
public function getFirstAuthor() {
if (!$auteurs = $this->getAuteursUnimarc(true))
if (!$auteurs = $this->getAuteursUnimarc(true))
return '';
return $auteurs[0];
}
......@@ -977,7 +976,7 @@ class Class_Notice extends Storm_Model_Abstract {
// Si fonctions on constitue une nouvelle matrice détaillée
if ($getFonction and 0 < count($auteurs))
return $this->_getAuteursAvecFonctions($auteurs);
return $auteurs;
}
......@@ -992,7 +991,7 @@ class Class_Notice extends Storm_Model_Abstract {
foreach ($data as $items) {
$auteur = $this->_getAuteurDansSousChamps($this->decoupe_bloc_champ($items));
$libelle = $auteur->nom . '|' . $auteur->prenom;
if ($this->_isAuteurDansZoneValide($libelle, $indexation)) {
return trim($auteur->prenom . ' ' . $auteur->nom);
}
......@@ -1012,7 +1011,7 @@ class Class_Notice extends Storm_Model_Abstract {
$data = $this->get_subfield($zone);
foreach ($data as $items) {
$libelle = $this->_getAuteurDansZone($items, $avec_fonction);
if ($this->_isAuteurDansZoneValide($libelle, $indexation)) {
$auteurs[] = $libelle;
}
......@@ -1025,7 +1024,7 @@ class Class_Notice extends Storm_Model_Abstract {
protected function getNatureDocs() {
return $this->get_subfield('200','b');
}
......@@ -1040,7 +1039,7 @@ class Class_Notice extends Storm_Model_Abstract {
$libelle = $auteur->nom . '|' . $auteur->prenom;
if ($avec_fonction)
$libelle .= '|' . $auteur->fonction . '|' . $auteur->fonction_pergame;
return $libelle;
}
......@@ -1084,7 +1083,7 @@ class Class_Notice extends Storm_Model_Abstract {
protected function _getAuteursAvecFonctions($auteurs) {
if (!is_array($auteurs) || empty($auteurs))
return [];
$ix = new Class_Indexation();
$result = [];
foreach ($auteurs as $auteur) {
......@@ -1092,7 +1091,7 @@ class Class_Notice extends Storm_Model_Abstract {
if (!empty($avec_fonction))
$result[] = $avec_fonction;
}
return $result;
}
......@@ -1121,7 +1120,7 @@ class Class_Notice extends Storm_Model_Abstract {
if ($auteur_fonction = Class_CodifAuteurFonction::find($fonction))
$fonction = $auteur_fonction->getLibelle();
}
$label = trim($prenom . ' ' . $nom) . (($fonction) ? ' (' . $fonction . ')': '');
return $this->getReboundFieldForFacet('A'.$codif_auteur->getId(),
$label);
......@@ -1168,7 +1167,7 @@ class Class_Notice extends Storm_Model_Abstract {
public function getCollection($principale=false) {
if (!$data = $this->get_subfield(225, "a")) $data = $this->get_subfield(410, "t");
if (!$data = $this->get_subfield(225, "a")) $data = $this->get_subfield(410, "t");
if(!$data) $data = [];
if ($principale == true) {
......@@ -1182,7 +1181,7 @@ class Class_Notice extends Storm_Model_Abstract {
public function getMatieres() {
if (isset($this->_matieres))
return $this->_matieres;
$matiere = array();
// Recup des zones matières dans les variables
......@@ -1250,7 +1249,7 @@ class Class_Notice extends Storm_Model_Abstract {
$codes = $this->getLangueCodes();
if (0 == count($codes))
return array();
$langues = array();
foreach ($codes as $code) {
if ($langue = Class_CodifLangue::getLoader()->find($code))
......@@ -1261,9 +1260,9 @@ class Class_Notice extends Storm_Model_Abstract {
public function getLangueCodes() {
if ($this->_langueCodes)
if ($this->_langueCodes)
return $this->_langueCodes;
$langues = array();
$data = $this->get_subfield(101);
foreach ($data as $items) {
......@@ -1274,7 +1273,7 @@ class Class_Notice extends Storm_Model_Abstract {
$code = substr(strtolower($item['valeur']), 0, 3);
if ('und' == $code)
continue;
if ('fra' == $code)
if ('fra' == $code)
$code = 'fre';
$langues[] = $code;
}
......@@ -1315,7 +1314,7 @@ class Class_Notice extends Storm_Model_Abstract {
$mot.=$item['valeur'];
}
}
if ($mot)
if ($mot)
$notes[] = trim($mot);
}
}
......@@ -1361,13 +1360,13 @@ class Class_Notice extends Storm_Model_Abstract {
return $collations;
}
// ----------------------------------------------------------------
// Résumé
// ----------------------------------------------------------------
public function getResume() {
if (isset($this->_resume))
if (isset($this->_resume))
return $this->_resume;
if ($album = $this->getAlbum())
......@@ -1378,9 +1377,9 @@ class Class_Notice extends Storm_Model_Abstract {
foreach ($data as $item)
if (strlen($item) > strlen($resume)) $resume = trim($item);
if ($resume && substr($resume, -1) != ".")
if ($resume && substr($resume, -1) != ".")
$resume.=".";
return $this->_resume = $resume;
}
......@@ -1410,10 +1409,10 @@ class Class_Notice extends Storm_Model_Abstract {
}
if ($data['code']=='u')
$link = $data['valeur'];
if ($data['code']=='a')
$link = $data['valeur'];
}
}
$result[]=$link;
}
......@@ -1428,7 +1427,7 @@ class Class_Notice extends Storm_Model_Abstract {
$target = Class_CosmoVar::get('url_site');
$trav = explode('/', $target);
$ctrl_target = array_pop($trav);
if (!trim($ctrl_target))
if (!trim($ctrl_target))
$ctrl_target = array_pop($trav);
// tableau des liens
......@@ -1437,18 +1436,18 @@ class Class_Notice extends Storm_Model_Abstract {
if ($black_list) {
foreach ($black_list as $mot) {
if (stripos($item, $mot) !== false) {
$controle = false;
break;
$controle = false;
break;
}
}
}
if ($controle == true) {
if (substr(strtoupper($item), 0, 4) != 'HTTP')
if (substr(strtoupper($item), 0, 4) != 'HTTP')
$item = 'http://' . $item;
$target = (strpos($item, $ctrl_target) === false)
? 'target="_blank"' : '';
$target = (strpos($item, $ctrl_target) === false)
? 'target="_blank"' : '';
$lien[] = '<a href="' . trim($item) . '" ' . $target . ">" . trim($item) . '</a>';
}
......@@ -1499,12 +1498,12 @@ class Class_Notice extends Storm_Model_Abstract {
$providers = array('Class_WebService_Fnac',
'Class_WebService_Babelio',
'Class_WebService_Premiere');
foreach ($providers as $provider_class) {
$provider = new $provider_class();
$avis = array_merge($avis, $provider->getResumes($this));
}
return $avis;
}
......@@ -1552,7 +1551,7 @@ class Class_Notice extends Storm_Model_Abstract {
*/
public function toTabbedList() {
$sep=chr(9);
$enreg = Class_Codification::getInstance()->getLibelleFacette("T".$this->getTypeDoc()).$sep;
$enreg .= $this->getTitrePrincipal().$sep;
$enreg .= $this->getAuteurPrincipal().$sep;
......@@ -1579,7 +1578,7 @@ class Class_Notice extends Storm_Model_Abstract {
}
public function renderOn($canvas) {
return $canvas->renderNotice($this);
return $canvas->renderNotice($this);
}
public function getFamilleId() {
......@@ -1588,7 +1587,7 @@ class Class_Notice extends Storm_Model_Abstract {
return 0;
}
public function isNouveaute() {
return date('Y-m-d', self::getTimeSource()->time()) <= substr($this->getDateCreation(), 0, 10);
}
......@@ -1597,15 +1596,15 @@ class Class_Notice extends Storm_Model_Abstract {
public function isInPanier() {
if(!$user=Class_Users::getIdentity())
return false;
return $user->isNoticeInMyPanier($this);
}
public function getPaniers() {
if(!$user=Class_Users::getIdentity())
return [];
return $user->getPaniersWhereICanFound($this);
}
......@@ -1614,7 +1613,7 @@ class Class_Notice extends Storm_Model_Abstract {
$list_panier = $this->getPaniers();
if(($nb_paniers = count($list_panier)) < 1)
return '';
return $this->_plural($nb_paniers,
'',
'Dans le panier %s',
......
......@@ -16,7 +16,7 @@
*
* 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
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
require_once 'AdminAbstractControllerTestCase.php';
require_once 'Class/Newsletter.php';
......@@ -24,10 +24,10 @@ require_once 'Class/Newsletter.php';
abstract class Admin_NewsletterControllerTestCase extends Admin_AbstractControllerTestCase {
public function setUp() {
parent::setup();
$this->mock_transport = new MockMailTransport();
Zend_Mail::setDefaultTransport($this->mock_transport);
Class_Newsletter::setTimeSource(new TimeSourceForTest('2005-03-27 12:30:00'));
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_PanierNotice')
......@@ -42,7 +42,7 @@ abstract class Admin_NewsletterControllerTestCase extends Admin_AbstractControll
->whenCalled('countAvailableUserForNewsletter')
->with(2)
->answers(1)
->whenCalled('countDistributionProgress')
->with(1)
->answers(0)
......@@ -50,7 +50,7 @@ abstract class Admin_NewsletterControllerTestCase extends Admin_AbstractControll
->whenCalled('countDistributionProgress')
->with(2)
->answers(0)
->whenCalled('countTotalDistribution')
->with(1)
->answers(1)
......@@ -67,7 +67,7 @@ abstract class Admin_NewsletterControllerTestCase extends Admin_AbstractControll
'contenu' => 'Notre sélection du mois']);
Class_Newsletter::find(1)->setLastDistributionDateWithFormat();
$this->fixture('Class_Newsletter',
['id' => 2,
'titre' => 'Animations',
......@@ -175,7 +175,7 @@ class Admin_NewsletterControllerAddActionTest extends Admin_NewsletterController
->whenCalled('findTopCatalogues')
->answers([]);
$this->dispatch('/admin/newsletter/add');
$this->dispatch('/admin/newsletter/add');
}
......@@ -219,7 +219,7 @@ class Admin_NewsletterControllerAddActionWithCataloguesTest extends Admin_Newsle
public function setUp() {
parent::setUp();
$histoire = Class_Catalogue::newInstanceWithId(100,
$histoire = Class_Catalogue::newInstanceWithId(100,
[ 'libelle' => 'Histoire',
'sous_domaines' => [
Class_Catalogue::newInstanceWithId(200, [ 'libelle' => 'Politique',
......@@ -235,7 +235,7 @@ class Admin_NewsletterControllerAddActionWithCataloguesTest extends Admin_Newsle
'order' => 'libelle'])
->answers([$histoire]);
$this->dispatch('/admin/newsletter/add');
$this->dispatch('/admin/newsletter/add');
}
......@@ -262,13 +262,13 @@ class Admin_NewsletterControllerAddActionWithCataloguesTest extends Admin_Newsle
class Admin_NewsletterControllerEditActionTest extends Admin_NewsletterControllerTestCase {
public function setUp() {
parent::setUp();
$this->fixture('Class_Newsletter',
['id' => 53,
'titre' => 'Nouveautés',
'contenu'=>'Notre sélection du mois',
'expediteur' => 'laurent@free.fr']);
Class_Newsletter::find(53)->setLastDistributionDateWithFormat();
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_NewsletterSubscription')
......@@ -281,7 +281,7 @@ class Admin_NewsletterControllerEditActionTest extends Admin_NewsletterControlle
->whenCalled('countAvailableUserForNewsletter')
->with(53)
->answers(2);
$this->dispatch('/admin/newsletter/edit/id/53', true);
}
......@@ -376,7 +376,7 @@ class Admin_NewsletterControllerValidationsTest extends Admin_NewsletterControll
'contenu' => utf8_encode('Plein les yeux'));
$this->_assertActionEditOnPost($data);
$this->assertQueryContentContains("form ul.errors li",
$this->assertQueryContentContains("form ul.errors li",
"'zork' n'est pas un email valide dans le format local-part@hostname");
}
......@@ -409,7 +409,7 @@ class Admin_NewsletterControllerDeleteActionTest extends Admin_NewsletterControl
$newsletter
->expects($this->once())
->method('delete');
Storm_Model_Abstract::setLoaderFor('Class_Newsletter', $nl_loader);
$this->dispatch('/admin/newsletter/delete/id/4');
......@@ -438,7 +438,7 @@ class Admin_NewsletterControllerSendActionTest extends Admin_NewsletterControlle
$this->dispatch('/admin/newsletter/send/id/4');
}
/** @test */
public function shouldRedirectToNewsletterIndex() {
$this->assertRedirectTo('/admin/newsletter');
......@@ -466,14 +466,19 @@ class Admin_NewsletterControllerPreviewActionTest extends Admin_NewsletterContro
'prenom' => 'Miles',
'mail' => 'mdavis@afi-sa.fr']);
$this->fixture('Class_Notice', ['id' => 42,
'titre_principal' => 'Martine à la plage']);
$this->fixture('Class_Catalogue', ['id' => 1, 'libelle' => 'Mon catalogue']);
$nouveautes = $this->fixture('Class_Newsletter',
['id' => 3,
'titre' => 'Nouveautés',
'contenu' => 'Notre sélection du mois<img src="zork.jpg"/> <b>Hoho</b>',
'id_catalogue' => null,
'id_catalogue' => 1,
'nb_notices' => 0,
'id_panier' => null,
'last_distribution_date' => '2012-03-02']);
'last_distribution_date' => '2012-03-02']);
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_NewsletterSubscription')
->whenCalled('countAvailableUserForNewsletter')
......@@ -508,8 +513,8 @@ class Admin_NewsletterControllerPreviewActionTest extends Admin_NewsletterContro
->whenCalled('countDistributionProgress')
->with(1)
->answers(0)
->beStrict();
->beStrict();
$profil_portail = $this->fixture('Class_Profil', ['id' => 1,
'libelle' => 'Portail',
......@@ -522,7 +527,6 @@ class Admin_NewsletterControllerPreviewActionTest extends Admin_NewsletterContro
$this->assertQueryContentContains('p', 'laurent@afi-sa.net');
}
public function testSubject() {
$this->assertQueryContentContains('p', 'Nouveautés');
}
......@@ -534,6 +538,11 @@ class Admin_NewsletterControllerPreviewActionTest extends Admin_NewsletterContro
public function testBodyHtml() {
$this->assertXPath('//div//img[@src="zork.jpg"]', $this->_response->getBody());
}
/** @test */
public function noticeShouldBePresent() {
$this->assertQueryContentContains('p', 'Martine à la plage', $this->_response->getBody());
}
}
......@@ -608,7 +617,7 @@ class Admin_NewsletterControllerWithoutExpediteurSendTestActionTest extends Admi
class Admin_NewsletterControllerPostSendTestActionTest extends Admin_AbstractControllerTestCase {
public function setUp() {
parent::setUp();
$this->nouveautes = $this->fixture('Class_Newsletter',
['id' => 4,
'titre' => 'nouveautés',
......@@ -621,7 +630,7 @@ class Admin_NewsletterControllerPostSendTestActionTest extends Admin_AbstractCon
->whenCalled('countAvailableUserForNewsletter')
->with(4)
->answers(0);
$this->mock_transport = new MockMailTransport();
Zend_Mail::setDefaultTransport($this->mock_transport);
}
......@@ -644,11 +653,11 @@ class Admin_NewsletterControllerPostSendTestActionTest extends Admin_AbstractCon
$this->assertXPathContentContains('//form//ul[@class="errors"]/li', "'zork' n'est pas un email valide dans le format local-part@hostname");
}
/** @test */
public function succesFullSendShouldDisplaySucces() {
$this->_post(['destinataire' => 'marcel@afi-sa.fr']);
$this->assertXPathContentContains('//div[@class="subview"]',
$this->assertXPathContentContains('//div[@class="subview"]',
'Lettre "nouveautés" envoyée à marcel@afi-sa.fr');
}
......@@ -659,7 +668,7 @@ class Admin_NewsletterControllerPostSendTestActionTest extends Admin_AbstractCon
->onSendDo(function() {throw new Zend_Mail_Protocol_Exception('Connection timed out');});
$this->_post(['destinataire' => 'marcel@afi-sa.fr']);
$this->assertXPathContentContains('//ul[@class="errors"]/li', "Echec de l'envoi: Connection timed out");
$this->assertXPathContentContains('//ul[@class="errors"]/li', "Echec de l'envoi: Connection timed out");
}
}
......@@ -679,9 +688,9 @@ abstract class Admin_NewsletterControllerEditSubcsribersTestCase extends Admin_A
$this->_mduchamp = $this->fixture('Class_Users',
['id' => 3,
'nom' => 'Duchamp',
'prenom' => 'Marcel',
'login' => 'mduchamp',
'nom' => 'Duchamp',
'prenom' => 'Marcel',
'login' => 'mduchamp',
'password' => 'pass',
'mail' => 'marcel@afi-sa.fr']);
......@@ -696,14 +705,14 @@ abstract class Admin_NewsletterControllerEditSubcsribersTestCase extends Admin_A
['id' => 12,
'user' => $this->_mduchamp]);
$subscriptions = [$this->valid_subscription,
$invalid_subscription];
$this->_nl_nouveautes = $this->fixture('Class_Newsletter',
['id' => 1,
'titre' => 'Nouveautés',
'last_distribution_date' => '2013-09-23',
'subscriptions' => $subscriptions]);
'subscriptions' => $subscriptions]);
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_NewsletterSubscription')
->whenCalled('countAvailableUserForNewsletter')
......@@ -711,7 +720,7 @@ abstract class Admin_NewsletterControllerEditSubcsribersTestCase extends Admin_A
->willDo(function() {
$this->_nl_nouveautes->setSubscriptions([$this->valid_subscription]);})
->whenCalled('findAllBy')
->with(['newsletter_id' => 1,
->with(['newsletter_id' => 1,
'limitPage' => [0, 20]])
->answers([Class_NewsletterSubscription::find(12)]);
}
......@@ -723,10 +732,10 @@ abstract class Admin_NewsletterControllerEditSubcsribersTestCase extends Admin_A
class Admin_NewsletterControllerEditSubcsribersTest extends Admin_NewsletterControllerEditSubcsribersTestCase {
public function setUp() {
parent::setUp();
$this->dispatch('/admin/newsletter/edit-subscribers/id/1', true);
$this->dispatch('/admin/newsletter/edit-subscribers/id/1', true);
}
/** @test */
public function invalidSubscriptionShoudHaveBeenDeleted() {
$this->assertCount(1, Class_Newsletter::getLoader()->find(1)->getSubscriptions());
......@@ -750,8 +759,8 @@ class Admin_NewsletterControllerEditSubcsribersTest extends Admin_NewsletterCont
}
/**
* @test
/**
* @test
* @dataProvider fieldsProvider
*/
public function fieldShouldBePresent($field) {
......@@ -773,19 +782,19 @@ class Admin_NewsletterControllerEditSubcsribersAddTest extends Admin_NewsletterC
public function setUp() {
parent::setUp();
$this->_picasso = $this->fixture('Class_Users',
['id' => 45,
'login' => 'ppicasso',
$this->_picasso = $this->fixture('Class_Users',
['id' => 45,
'login' => 'ppicasso',
'password' => 'pass',
'nom' => 'Picasso',
'nom' => 'Picasso',
'prenom' => 'Pablo']);
$this->postDispatch('/admin/newsletter/edit-subscribers/id/1?search=Van',
['users' => [45]]);
$this->postDispatch('/admin/newsletter/edit-subscribers/id/1?search=Van',
['users' => [45]]);
}
/** @test */
public function newsletterShouldContainsSubscriptionWithUserPicasso() {
$this->assertEquals($this->_picasso, Class_Users::find($this->_nl_nouveautes->getSubscriptions()[2]->getUserId()));
......@@ -803,7 +812,7 @@ class Admin_NewsletterControllerEditSubcsribersAddTest extends Admin_NewsletterC
class Admin_NewsletterControllerEditSubcsribersDeleteTest extends Admin_NewsletterControllerEditSubcsribersTestCase {
public function setUp() {
parent::setUp();
parent::setUp();
$this->dispatch('/admin/newsletter/edit-subscribers/id/1/delete/12?search=Klimt', true);
}
......@@ -827,13 +836,13 @@ class Admin_NewsletterControllerEditSubcsribersDeleteTest extends Admin_Newslett
class Admin_NewsletterControllerScriptTest extends Admin_NewsletterControllerTestCase {
public function setup() {
parent::setup();
$this->fixture('Class_Newsletter',
['id' => 5,
'titre' => 'Nouveautés',
'contenu'=>'Notre sélection du mois',
'expediteur' => 'laurent@free.fr']);
Class_Newsletter::find(5)->setLastDistributionDateWithFormat();
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_NewsletterSubscription')
......@@ -846,7 +855,7 @@ class Admin_NewsletterControllerScriptTest extends Admin_NewsletterControllerTes
->whenCalled('countAvailableUserForNewsletter')
->with(5)
->answers(2);
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_NewsletterSubscription')
->whenCalled('countDistributionProgress')
->with(5)
......@@ -857,7 +866,7 @@ class Admin_NewsletterControllerScriptTest extends Admin_NewsletterControllerTes
'titre' => 'Nouveautés',
'contenu'=>'Notre sélection du mois',
'expediteur' => 'laurent@free.fr']);
Class_Newsletter::find(6)->setLastDistributionDateWithFormat();
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_NewsletterSubscription')
......@@ -870,7 +879,7 @@ class Admin_NewsletterControllerScriptTest extends Admin_NewsletterControllerTes
->whenCalled('countAvailableUserForNewsletter')
->with(6)
->answers(2);
Storm_Test_ObjectWrapper::onLoaderOfModel('Class_NewsletterSubscription')
->whenCalled('countDistributionProgress')
->with(6)
......@@ -887,13 +896,13 @@ class Admin_NewsletterControllerScriptTest extends Admin_NewsletterControllerTes
$this->assertXPathContentContains('//script', 'progressbar');
}
/** @test */
public function progressBarNewsletterShouldBeDisplay() {
$this->assertXPath('//div[@id="progress_bar_newsletter_1"]');
}
}
class Admin_NewsletterControllerSendProgressWithWrongNewsletterIdTest extends Admin_AbstractControllerTestCase {
......@@ -929,7 +938,7 @@ class Admin_NewsletterControllerSendProgressEndTest extends Admin_AbstractContro
->whenCalled('countDistributionProgress')
->with(48)
->answers(0)
->whenCalled('countTotalDistribution')
->with(48)
->answers(500)
......@@ -951,7 +960,7 @@ class Admin_NewsletterControllerSendProgressEndTest extends Admin_AbstractContro
class Admin_NewsletterControllerSendProgressTest extends Admin_NewsletterControllerTestCase {
public function setUp() {
parent::setUp();
$this->fixture('Class_Newsletter',
['id' => 3,
'titre' => 'News of the Juny',
......@@ -962,7 +971,7 @@ class Admin_NewsletterControllerSendProgressTest extends Admin_NewsletterControl
->whenCalled('countDistributionProgress')
->with(3)
->answers(9300)
->whenCalled('countTotalDistribution')
->with(3)
->answers(9800)
......@@ -984,7 +993,7 @@ class Admin_NewsletterControllerSendProgressTest extends Admin_NewsletterControl
class Admin_NewsletterControllerNeverSendTest extends Admin_NewsletterControllerTestCase {
public function setUp() {
parent::setUp();
$this->fixture('Class_Newsletter',
['id' => 3,
'titre' => 'News of the Juny',
......@@ -995,7 +1004,7 @@ class Admin_NewsletterControllerNeverSendTest extends Admin_NewsletterController
->whenCalled('countDistributionProgress')
->with(3)
->answers(0)
->whenCalled('countTotalDistribution')
->with(3)
->answers(600)
......
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