From 332fdcbc9197c22c2fd3c4f6364d50b7d5a12fca Mon Sep 17 00:00:00 2001
From: efalcy <efalcy@afi-sa.fr>
Date: Wed, 9 Aug 2023 08:48:29 +0000
Subject: [PATCH] hotline#183416 Cafeyn fix modification on json

---
 VERSIONS_HOTLINE/183416                       |  1 +
 .../Cafeyn/Service/Album.php                  |  4 +-
 .../Cafeyn/tests/CafeynTest.php               | 58 ++++++++++++++++++-
 .../Cafeyn/tests/cafeyn.json                  | 18 ++++++
 4 files changed, 78 insertions(+), 3 deletions(-)
 create mode 100644 VERSIONS_HOTLINE/183416

diff --git a/VERSIONS_HOTLINE/183416 b/VERSIONS_HOTLINE/183416
new file mode 100644
index 00000000000..4de46c5614b
--- /dev/null
+++ b/VERSIONS_HOTLINE/183416
@@ -0,0 +1 @@
+ - correctif #183416 : Moissonnage Cafeyn : modification de l'api coté Cafeyn pour la récupération des vignettes et des liens medias.
\ No newline at end of file
diff --git a/library/digital_resources/Cafeyn/Service/Album.php b/library/digital_resources/Cafeyn/Service/Album.php
index 711414efd7f..55cc7c13fc2 100644
--- a/library/digital_resources/Cafeyn/Service/Album.php
+++ b/library/digital_resources/Cafeyn/Service/Album.php
@@ -32,9 +32,9 @@ class Cafeyn_Service_Album extends Class_WebService_BibNumerique_RessourceNumeri
                           $json->publicationId ?? '',
                           $json->issueNumber ?? ''))
          ->setTitle($this->_getTitle( $json))
-         ->setExternalUri($json->ssourl ?? '')
+         ->setExternalUri( $json->ssoUrl ?? $json->ssourl ?? '')
          ->setDescription($json->publicationDescription ?? '')
-         ->addPoster($json->coverURL ?? '')
+         ->addPoster( $json->coverUrl ??$json->coverURL ?? '')
          ->setEditeur($json->publisher ?? '')
          ->addMatiere($json->category ?? '')
          ->setYear($year);
diff --git a/library/digital_resources/Cafeyn/tests/CafeynTest.php b/library/digital_resources/Cafeyn/tests/CafeynTest.php
index 99d000b32fc..2a16eeffdbe 100644
--- a/library/digital_resources/Cafeyn/tests/CafeynTest.php
+++ b/library/digital_resources/Cafeyn/tests/CafeynTest.php
@@ -250,7 +250,7 @@ class CafeynHarvest extends CafeynServiceTestCase {
 
   /** @test */
   public function album3ShouldHaveCategory(){
-    $news = Class_CodifMatiere::find( Class_Album::find(3)->getMatiere());
+    $news = Class_CodifMatiere::find( Class_Album::find(4)->getMatiere());
     $this->assertEquals( 'Actualité', $news->getLibelle());
   }
 
@@ -268,6 +268,62 @@ class CafeynHarvest extends CafeynServiceTestCase {
 }
 
 
+class CafeynHarvestJsonModified extends CafeynServiceTestCase {
+
+  public function setUp() {
+      parent::setUp();
+      $this->_album = Class_Album::find(2);
+  }
+  public function getAlbumAttribs() {
+    return [
+            ['getTitre', 'Les Cahiers de Science & Vie n°212 :  9 août 2023'],
+            ['getIdOrigine', '1276964:212'],
+            ['getCategoryLabel', 'Cafeyn'],
+            ['getUrlOrigine', 'https://cafeyn.co/'],
+            ['getExternalUri',
+             'https://www.cafeyn.co/loginexternal/2170?returnUrl=/fr/publication/1276964/21947685'],
+            ['getPoster',
+             'https://cdn1.cafeyn.co/Public/Publications/1276964/21947685/Images/Detail.jpg'],
+            ['getTypeDocId' , 'Cafeyn'],
+            ['getAnnee', '2023'],
+            ['getDescription',
+             "Tous les deux mois, Les Cahiers de Science & Vie vous proposent 100 pages d'histoire des civilisations anciennes.\n"
+            ],
+            ['getDateMaj', '2017-02-06 10:00:00'],
+            ['getReleaseDate', '2023-08-09T00:00:00']
+    ];
+  }
+
+
+  /**
+   * @test
+   * @dataProvider getAlbumAttribs
+   */
+  public function albumAttribsShouldMatch($key, $value) {
+    $this->assertEquals($value, call_user_func([$this->_album, $key]));
+  }
+
+
+  /** @test */
+  public function album3ShouldHaveCategory(){
+    $news = Class_CodifMatiere::find( Class_Album::find(4)->getMatiere());
+    $this->assertEquals( 'Actualité', $news->getLibelle());
+  }
+
+
+  /** @test */
+  public function albumEditorShouldBeRLafont() {
+    $this->assertEquals('Reworld Media Magazines', $this->_album->getEditors()[0]);
+  }
+
+
+  /** @test */
+  public function albumDoctypeShouldBeNumericSerialCafein() {
+    $this->assertEquals('Magazine numérique Cafeyn', $this->_album->getTypeDoc()->getLabel());
+  }
+}
+
+
 
 
 class CafeynDashboardActivatedTest extends CafeynActivatedTestCase {
diff --git a/library/digital_resources/Cafeyn/tests/cafeyn.json b/library/digital_resources/Cafeyn/tests/cafeyn.json
index b9d515ae4ee..48a493585a2 100644
--- a/library/digital_resources/Cafeyn/tests/cafeyn.json
+++ b/library/digital_resources/Cafeyn/tests/cafeyn.json
@@ -17,6 +17,24 @@
       "isAdult": false,
       "loginUrl": "https://www.cafeyn.co/fr/authentication"
     },
+      {
+	  "category": "Science",
+	  "ssoUrl": "https://www.cafeyn.co/loginexternal/2170?returnUrl=/fr/publication/1276964/21947685",
+	  "partnerId": "2170",
+	  "idIssue": 21947685,
+	  "issueTitle": "Les Cahiers de Science & Vie",
+	  "issueNumber": 212,
+	  "pageCount": 100,
+	  "coverUrl": "https://cdn1.cafeyn.co/Public/Publications/1276964/21947685/Images/Detail.jpg",
+	  "releaseDate": "2023-08-09T00:00:00",
+	  "publicationId": 1276964,
+	  "publisher": "Reworld Media Magazines ",
+	  "publicationDescription": "Tous les deux mois, Les Cahiers de Science & Vie vous proposent 100 pages d'histoire des civilisations anciennes.\n",
+	  "frequency": "Bimonthly",
+	  "isAdult": false,
+	  "issueUrl": "https://www.cafeyn.co/fr/publication/1276964/21947685/",
+	  "loginUrl": "https://www.cafeyn.co/fr/authentication"
+      },
     {
       "idIssue": 21652500,
       "issueTitle": "The Week",
-- 
GitLab