diff --git a/tests/application/modules/opac/controllers/CmsControllerTest.php b/tests/application/modules/opac/controllers/CmsControllerTest.php
index 2d1a69445a36a6945b09d26a233707bd8353ebee..c41e13cf51630ecc5ea46e2cd4505ab8705b3c63 100644
--- a/tests/application/modules/opac/controllers/CmsControllerTest.php
+++ b/tests/application/modules/opac/controllers/CmsControllerTest.php
@@ -268,7 +268,7 @@ abstract class AbstractCmsControllerArticleViewByDateTest extends AbstractContro
 					'options' =>[]]]
 				);
 
-		Class_AdminVar::newInstanceWithId('WORKFLOW',['valeur' => '']);
+		Class_AdminVar::newInstanceWithId('WORKFLOW', ['valeur' => '']);
 
 		$articles = [	Class_Article::getLoader()
 									->newInstanceWithId(1)
@@ -342,6 +342,36 @@ abstract class AbstractCmsControllerArticleViewByDateTest extends AbstractContro
 
 
 
+/** @see http://forge.afi-sa.fr/issues/20971 */
+class CmsControllerArticleViewByDateOnMonthTest extends AbstractControllerTestCase {
+	public function setUp() {
+		parent::setUp();
+
+		Storm_Model_Loader::defaultToVolatile();
+		$this->wrapper = $this->onLoaderOfModel('Class_Article')
+													->whenCalled('getArticlesByPreferences')
+													->answers([]);
+
+		$this->dispatch('/cms/articleviewbydate/id_profil/1/d/2015-02/id_module/5/select_id_categorie/all', true);
+	}
+
+
+	public function tearDown() {
+		Storm_Model_Loader::defaultToDb();
+		parent::tearDown();
+	}
+
+
+	/** @test */
+	public function shouldNotAllowUnpublishedArticles() {
+		$preferences = $this->wrapper
+			->getFirstAttributeForLastCallOn('getArticlesByPreferences');
+		$this->assertNotContains('published', array_keys($preferences));
+	}
+}
+
+
+
 
 class CmsControllerArticleViewByDateTest extends AbstractCmsControllerArticleViewByDateTest {
 	public function setUp() {