diff --git a/library/Class/Newsletter.php b/library/Class/Newsletter.php
index cdfbb7715e4feb9e23db756c215348c0839a1d1d..e1b21a281a01cf1fc629b1a51b2d9b358678a59b 100644
--- a/library/Class/Newsletter.php
+++ b/library/Class/Newsletter.php
@@ -358,7 +358,7 @@ class Class_Newsletter extends Storm_Model_Abstract {
   }
 
 
-  public function unsubscribeUser(Class_Users $user, string $mail='') {
+  public function unsubscribeUser(Class_Users $user, string $mail='') :bool {
     return Class_Newsletter_Blacklist::unsubscribeUser($user, $this->getId(), $mail);
   }
 
@@ -451,10 +451,9 @@ class Class_Newsletter extends Storm_Model_Abstract {
 
   public function getFirstImageUrl() : string {
     $template = $this->newTemplate();
-    $text = $template->getRawHTML();
 
     $matches = [];
-    return (preg_match('/< *img[^>]*src *= *["\']?([^"\'>]*)/i', $text, $matches) > 0)
+    return (preg_match('/< *img[^>]*src *= *["\']?([^"\'>]*)/i', $template->getRawHTML(), $matches) > 0)
       ? $matches[1]
       : '';
   }
diff --git a/library/Class/Newsletter/Blacklist.php b/library/Class/Newsletter/Blacklist.php
index 6a87a7781f1e4078a6ec5ebe7556b3c1eaf6b791..696767f1fcf7713e03120d27ab4eec33a03f6414 100644
--- a/library/Class/Newsletter/Blacklist.php
+++ b/library/Class/Newsletter/Blacklist.php
@@ -28,12 +28,12 @@ class Newsletter_BlacklistLoader extends Storm_Model_Loader {
   }
 
 
-  public function unsubscribeUser(Class_Users $user, int $newsletter_id, string $mail = '') {
+  public function unsubscribeUser(Class_Users $user, int $newsletter_id, string $mail = '') :bool {
     if (Class_Newsletter_Blacklist::isBlackListed($user, $newsletter_id))
       return false;
 
     if (!$mail)
-      $mail = $user->getMail();
+      $mail = $user->getMail() ?? '';
 
     $blacklist = Class_Newsletter_Blacklist::newInstance(['user_id' => $user->getId(),
                                                           'mail' => $mail,
@@ -50,11 +50,9 @@ class Newsletter_BlacklistLoader extends Storm_Model_Loader {
                                                  'user_id' => $user->getId()]))
         return true;
 
-    if (($mail = $user->getMail())
-        && (0 < Class_Newsletter_Blacklist::countBy(['newsletter_id' => $newsletter_id,
-                                                     'mail' => $mail])))
-        return true;
-    return false;
+    return (($mail = $user->getMail())
+            && (0 < Class_Newsletter_Blacklist::countBy(['newsletter_id' => $newsletter_id,
+                                                         'mail' => $mail])));
   }
 }
 
diff --git a/library/Class/Newsletter/TemplateHelper.php b/library/Class/Newsletter/TemplateHelper.php
index f7cc9a0837639a183acea015aed3cc9b43c1e430..51cdf7a0f006bd9aa4a040ed7cdb5e121e72edc6 100644
--- a/library/Class/Newsletter/TemplateHelper.php
+++ b/library/Class/Newsletter/TemplateHelper.php
@@ -102,11 +102,10 @@ class Class_Newsletter_TemplateHelper {
   public function getRawHTML() : string {
     if ( $this->_body_html_cache )
       return $this->_body_html_cache;
-    $html = $this->_renderNewsletterWith('_getContentAsHTML',
+
+    return $this->_body_html_cache = $this->_renderNewsletterWith('_getContentAsHTML',
                                          'renderHtml',
                                          '_getUnsubscribeHTML');
-
-    return $this->_body_html_cache = $html;
   }
 
 
@@ -158,7 +157,6 @@ class Class_Newsletter_TemplateHelper {
                  ...$this->_renderContent($mail_renderer_function),
                  call_user_func([$this, $unsubscribe_function])];
 
-
     return $implode_callback
       ? call_user_func([$this, $implode_callback], $content)
       : implode($content);
diff --git a/tests/application/modules/admin/controllers/NewsletterControllerTest.php b/tests/application/modules/admin/controllers/NewsletterControllerTest.php
index dba24eb598d58ed4085606343818a243e54892d7..7611c007753ae1031455047f8d47b6762866c65f 100644
--- a/tests/application/modules/admin/controllers/NewsletterControllerTest.php
+++ b/tests/application/modules/admin/controllers/NewsletterControllerTest.php
@@ -2241,9 +2241,9 @@ class Admin_NewsletterControllerPreviewActionWithTemplateLayoutAndRenderingSelec
   public function cardDescriptionShouldContainsIlEstBeauIlEstFier() {
     $this->assertXPathContentContains('//div[@class="card"]//p[@class="model_description_Class_Article"]'
                                       , 'Il est beau, il est fier');
-
   }
 
+
   /** @test */
   public function cardBadgeShouldContains() {
     $this->assertXPathContentContains('//div[@class="card"]//div[contains(@class,"badge-group")]//span[contains(@class,"badge_text")]'
diff --git a/tests/application/modules/opac/controllers/AbonneControllerNewslettersTest.php b/tests/application/modules/opac/controllers/AbonneControllerNewslettersTest.php
index 07cd8da6b60da1d460f3ef2bd30c15837efb783c..df29ec862c2b02abc863000d7b9f6b4823a19953 100644
--- a/tests/application/modules/opac/controllers/AbonneControllerNewslettersTest.php
+++ b/tests/application/modules/opac/controllers/AbonneControllerNewslettersTest.php
@@ -844,6 +844,7 @@ class AbonneControllerNewslettersUnsubscribeUserWithoutMailTest extends Abstract
                                                                  1));
   }
 
+
   /** @test */
   public function flashMessengerShouldContains() {
     $this->assertFlashMessengerContentContains('Vous êtes désinscrit de la liste de diffusion: Nouveautés classique');
diff --git a/tests/library/Class/ArticleTest.php b/tests/library/Class/ArticleTest.php
index f4dc8ae55bcb307c45f3b0811401f5226daa2c2a..c7b91e93a0b0d7f3413be0125a3d65063afdeb7d 100644
--- a/tests/library/Class/ArticleTest.php
+++ b/tests/library/Class/ArticleTest.php
@@ -409,10 +409,10 @@ class ArticleTestSmallArticle extends ModelTestCase {
 
   /** @test **/
   public function urlProfilShoulNotContainProfil() {
-    $this->assertEquals(['controller' => 'cms',
+    $this->assertEquals(['module'=> 'opac',
+                         'controller' => 'cms',
                          'action' => 'articleview',
-                         'id' => '0',
-                         'module'=> 'opac'],
+                         'id' => '0'],
                         $this->_article->getUrl());
   }
 }
diff --git a/tests/scenarios/Templates/TemplatesNewslettersTest.php b/tests/scenarios/Templates/TemplatesNewslettersTest.php
index 0d0ae4d78684e97872b45c822428b23c17d92999..a722b7a111fba56acd29eb62975fc297f62c738f 100644
--- a/tests/scenarios/Templates/TemplatesNewslettersTest.php
+++ b/tests/scenarios/Templates/TemplatesNewslettersTest.php
@@ -22,9 +22,6 @@
 
 class TemplatesNewslettersWidgetWithDescriptionLengthTest extends AbstractControllerTestCase {
 
-  protected $_storm_default_to_volatile = true;
-
-
   public function setUp() {
     parent::setUp();
     Class_AdminVar::set('TEMPLATING', 1);
@@ -78,7 +75,6 @@ class TemplatesNewslettersWidgetWithCatalogueTestCase
   extends AbstractControllerTestCase {
 
   protected
-    $_storm_default_to_volatile = true,
     $_nb_notices;
 
 
@@ -149,7 +145,6 @@ class TemplatesNewslettersWidgetNewsletterCarouselWithCustomCssTestCase
   extends AbstractControllerTestCase {
 
   protected
-    $_storm_default_to_volatile = true,
     $_nb_notices;
 
 
@@ -264,9 +259,6 @@ class TemplatesNewslettersWidgetWithCatalogueAndOneNbRecords extends TemplatesNe
 
 abstract class TemplatesNewslettersIndexWithWidgetTestCase extends AbstractControllerTestCase {
 
-  protected $_storm_default_to_volatile = true;
-
-
   public function setUp() {
     parent::setUp();
 
@@ -384,7 +376,6 @@ class TemplatesNewslettersPreviewWithCustomCssTestCase
   extends AbstractControllerTestCase {
 
   protected
-    $_storm_default_to_volatile = true,
     $_nb_notices;