From 70012148fb0f035d571f53cfb06af488447d1485 Mon Sep 17 00:00:00 2001
From: pbarroca <pbarroca@afi-sa.fr>
Date: Thu, 1 Jun 2017 17:15:56 +0200
Subject: [PATCH] fix failure

---
 library/Class/ArteVodLink.php                      |  9 ++++-----
 .../opac/controllers/ModulesControllerTest.php     | 14 ++++++++++++--
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/library/Class/ArteVodLink.php b/library/Class/ArteVodLink.php
index 5b72de8a7a8..dd349102e4c 100644
--- a/library/Class/ArteVodLink.php
+++ b/library/Class/ArteVodLink.php
@@ -20,6 +20,8 @@
  */
 
 class Class_ArteVodLink {
+  use Trait_TimeSource;
+
   protected $_album;
   protected $_user;
   const BASE_URL = 'https://portal.mediatheque-numerique.com/sso_login';
@@ -58,7 +60,7 @@ class Class_ArteVodLink {
     $params = ['sso_id' => 'afi',
                'id' => $id_abon,
                'id_encrypted' => $hash->encrypt($id_abon),
-               'd' => $hash->encrypt(date('dmY'))];
+               'd' => $hash->encrypt(date('dmY', $this->getCurrentTime()))];
 
     $params['prenom'] = $this->_user->getPrenom();
     $params['nom'] = $this->_user->getNom();
@@ -68,7 +70,4 @@ class Class_ArteVodLink {
     $params['return_url'] = $this->baseUrl();
     return self::BASE_URL . '?' .http_build_query(array_filter($params));
   }
-}
-
-
-?>
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/tests/application/modules/opac/controllers/ModulesControllerTest.php b/tests/application/modules/opac/controllers/ModulesControllerTest.php
index 887f4ba67b3..dde74b20201 100644
--- a/tests/application/modules/opac/controllers/ModulesControllerTest.php
+++ b/tests/application/modules/opac/controllers/ModulesControllerTest.php
@@ -93,9 +93,18 @@ class ModulesControllerLeSocialWithGroupTest extends AbstractControllerTestCase
 
 
 class ModulesControllerArteVodTest extends AbstractControllerTestCase {
+  protected $_storm_default_to_volatile = true;
+
   public function setUp() {
     parent::setUp();
     RessourcesNumeriquesFixtures::activateArteVod();
+    Class_ArteVodLink::setTimeSource(new TimeSourceForTest('2017-06-01'));
+  }
+
+
+  public function tearDown() {
+    Class_ArteVodLink::setTimeSource(null);
+    parent::tearDown();
   }
 
 
@@ -108,14 +117,15 @@ class ModulesControllerArteVodTest extends AbstractControllerTestCase {
 
 
   /** @test */
-  public function contextShouldExpectation() {
+  public function moduleAccessWithRightShouldRedirectToArte() {
     $group = $this->fixture('Class_UserGroup', ['id' => 1])
                   ->addRight(Class_UserGroup::RIGHT_ACCES_ARTEVOD);
 
     Class_Users::getIdentity()->setUserGroups([$group]);
 
     $this->dispatch('/opac/modules/artevod');
-    $this->assertXpathContentContains('//script', 'document.location.href="https://portal.mediatheque-numerique.com/sso_login?sso_id=afi&id=666&id_encrypted=ce04173447e59a7a3608f625b0348ccec5f4070c7c3f286b032cbe6374ec9f32&d=28320c8a6c44f751b8e5c94f0092509a0c0303f71df326e15341aea531ed14ba&return_url=http%3A%2F%2Fwww.mediatheque-numerique.com%2F";');
+    $this->assertXpathContentContains('//script',
+                                      'document.location.href="https://portal.mediatheque-numerique.com/sso_login?sso_id=afi&id=666&id_encrypted=ce04173447e59a7a3608f625b0348ccec5f4070c7c3f286b032cbe6374ec9f32&d=d8fb24f80a99bded9ed417591c5ac5cc1e123bcce10d65e1f6a83211ca18d3e8&return_url=http%3A%2F%2Fwww.mediatheque-numerique.com%2F";');
   }
 }
 
-- 
GitLab