From a0d8f1ba3f594df15a3dcb9401fc54a654db28f6 Mon Sep 17 00:00:00 2001
From: lbrun <leo@sandbox.pergame.net>
Date: Fri, 13 Nov 2015 16:34:41 +0100
Subject: [PATCH] tests

---
 cosmogramme/sql/patch/patch_279.php         | 32 +++++++++++++++++++++
 tests/fixtures/SitoPreferencesSerialize.txt |  1 +
 2 files changed, 33 insertions(+)
 create mode 100644 cosmogramme/sql/patch/patch_279.php
 create mode 100644 tests/fixtures/SitoPreferencesSerialize.txt

diff --git a/cosmogramme/sql/patch/patch_279.php b/cosmogramme/sql/patch/patch_279.php
new file mode 100644
index 00000000000..cf912d87462
--- /dev/null
+++ b/cosmogramme/sql/patch/patch_279.php
@@ -0,0 +1,32 @@
+<?php
+$ids_module = [1, 2, 3];
+$profil = Class_Profil::find(2048);
+
+foreach ($ids_module as $id) {
+  $preferences = $profil->getModuleAccueilConfig($id, 'SITO')['preferences'];
+
+  $group = $preferences['group_by_categorie'];
+  $type = $preferences['type_aff'];
+  $order = $preferences['display_order'];
+  unset($preferences['group_by_categorie']);
+
+  if ($group)
+    $preferences['type_aff'] = 2;
+
+  if ($type == 2) {
+    $preferences['type_aff'] = 1;
+    $preferences['display_order'] = 'Recent';
+  }
+
+  if ($type == 2 && $group) {
+    $preferences['type_aff'] = 2;
+    $preferences['display_order'] = 'Recent';
+  }
+
+  $module_config['preferences'] = $preferences;
+
+  $profil
+    ->updateModuleConfigAccueil($id, $module_config)
+    ->save();
+}
+?>
diff --git a/tests/fixtures/SitoPreferencesSerialize.txt b/tests/fixtures/SitoPreferencesSerialize.txt
new file mode 100644
index 00000000000..7e409adb89f
--- /dev/null
+++ b/tests/fixtures/SitoPreferencesSerialize.txt
@@ -0,0 +1 @@
+a:4:{s:7:"modules";a:3:{i:3;a:3:{s:11:"type_module";s:4:"SITO";s:11:"preferences";a:11:{s:5:"titre";s:14:"GROUPED recent";s:8:"type_aff";s:1:"2";s:12:"id_categorie";s:3:"2-3";s:8:"id_items";s:0:"";s:6:"nb_aff";s:2:"10";s:3:"rss";s:1:"0";s:18:"group_by_categorie";s:1:"1";s:13:"display_order";s:6:"Random";s:5:"boite";s:0:"";s:9:"id_module";s:1:"3";s:7:"Valider";s:7:"Valider";}s:8:"division";s:1:"2";}i:1;a:3:{s:11:"type_module";s:4:"SITO";s:11:"preferences";a:11:{s:5:"titre";s:12:"PAGED recent";s:8:"type_aff";s:1:"2";s:12:"id_categorie";s:0:"";s:8:"id_items";s:0:"";s:6:"nb_aff";s:1:"5";s:3:"rss";s:1:"0";s:18:"group_by_categorie";s:1:"0";s:13:"display_order";s:6:"Random";s:5:"boite";s:0:"";s:9:"id_module";s:1:"1";s:7:"Valider";s:7:"Valider";}s:8:"division";s:1:"2";}i:2;a:3:{s:11:"type_module";s:4:"SITO";s:11:"preferences";a:11:{s:5:"titre";s:14:"GROUPED random";s:8:"type_aff";s:1:"1";s:12:"id_categorie";s:3:"3-2";s:8:"id_items";s:0:"";s:6:"nb_aff";s:1:"2";s:3:"rss";s:1:"0";s:18:"group_by_categorie";s:1:"1";s:13:"display_order";s:6:"Random";s:5:"boite";s:0:"";s:9:"id_module";s:1:"2";s:7:"Valider";s:7:"Valider";}s:8:"division";s:1:"2";}}s:14:"use_parent_css";s:1:"1";s:7:"sitemap";s:1:"1";s:8:"page_css";s:0:"";}
-- 
GitLab